No description
- C# 100%
- Added AutoSaveService for periodic auto-saving functionality. - Introduced FileService to manage file operations including opening and saving files. - Created PersistenceService to handle application state persistence. - Developed StartupService to manage application startup settings and file handling. - Implemented TabService for managing code editor tabs and their interactions. - Added application manifest and settings configuration. - Refactored Program.cs to integrate new services and application structure. - Introduced UI components for the main application window. - Updated solution and project files to include new services and dependencies. |
||
|---|---|---|
| .claude | ||
| Assets | ||
| RandomAccessMachine.App | ||
| RandomAccessMachine.App.Legacy | ||
| RandomAccessMachine.Backend | ||
| RandomAccessMachine.Demo | ||
| RandomAccessMachine.FAIL | ||
| RandomAccessMachine.FAIL.Demo | ||
| RandomAccessMachine.Tests | ||
| .dockerignore | ||
| .gitignore | ||
| LICENSE.txt | ||
| RandomAccessMachine.sln | ||
| README.md | ||
RandomAccessMachine
RandomAccessMachine is a project that simulates a random access machine (RAM). It includes an interpreter for executing instructions, a demo application, and various components for managing settings and services.
There is also a feature-rich text editor that supports syntax highlighting (soon™), auto-save, and localization. The editor is built using the Windows Community Toolkit and Microsoft.UI.Xaml.
Project Structure
- RandomAccessMachine.App: The main application project.
- RandomAccessMachine.Backend: The backend logic for the random access machine.
- RandomAccessMachine.Demo: A demo application that references the backend project.
Getting Started
Prerequisites
- .NET 9.0 SDK
- Visual Studio 2022
- Windows 11 Build 22621 or later
Features
- Tokenizer: Breaks down a string into tokens for parsing.
- Parser: Converts a sequence of tokens into an abstract syntax tree.
- Label Resolver: Resolves label references to labels.
- Bounds Checker: Verifies that memory addresses are within bounds.
- Interpreter: Executes instructions for the random access machine.
Feature-rich Text Editor
- Auto-Save: Automatically saves your work at specified intervals.
- Startup Settings: Configures the application to open the last file on startup.
- Localization: Supports multiple languages for UI elements.
Contributing
Contributions are welcome! Please fork the repository and submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
