No description
Find a file
Grandiras b8546b9e60 feat: Implement AutoSave, File, Persistence, and Startup Services
- 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.
2026-02-14 21:28:10 +01:00
.claude tests/linux-compat (#1) 2026-02-07 14:35:24 +00:00
Assets Update README.md to include project overview, features, and contribution guidelines 2024-11-17 15:20:43 +01:00
RandomAccessMachine.App feat: Implement AutoSave, File, Persistence, and Startup Services 2026-02-14 21:28:10 +01:00
RandomAccessMachine.App.Legacy feat: Implement AutoSave, File, Persistence, and Startup Services 2026-02-14 21:28:10 +01:00
RandomAccessMachine.Backend feat: Implement AutoSave, File, Persistence, and Startup Services 2026-02-14 21:28:10 +01:00
RandomAccessMachine.Demo tests/linux-compat (#1) 2026-02-07 14:35:24 +00:00
RandomAccessMachine.FAIL tests/linux-compat (#1) 2026-02-07 14:35:24 +00:00
RandomAccessMachine.FAIL.Demo tests/linux-compat (#1) 2026-02-07 14:35:24 +00:00
RandomAccessMachine.Tests feat: Implement AutoSave, File, Persistence, and Startup Services 2026-02-14 21:28:10 +01:00
.dockerignore Refactor and update project files and components 2024-11-16 20:55:00 +01:00
.gitignore Refactor and update project files and components 2024-11-16 20:55:00 +01:00
LICENSE.txt Initiak commit 2024-11-13 09:35:55 +01:00
RandomAccessMachine.sln feat: Implement AutoSave, File, Persistence, and Startup Services 2026-02-14 21:28:10 +01:00
README.md Update README.md to include project overview, features, and contribution guidelines 2024-11-17 15:20:43 +01:00

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.

An example image of the app in action.

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.

Acknowledgements