Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grandiras/randomaccessmachine
A project that simulates a random access machine (RAM) with an interpreter for executing instructions, a feature-rich text editor, and various components for managing settings and services.
https://github.com/grandiras/randomaccessmachine
csharp interpreter random-access-machine windows windows-11 winui winui3
Last synced: about 1 month ago
JSON representation
A project that simulates a random access machine (RAM) with an interpreter for executing instructions, a feature-rich text editor, and various components for managing settings and services.
- Host: GitHub
- URL: https://github.com/grandiras/randomaccessmachine
- Owner: Grandiras
- License: mit
- Created: 2024-11-13T08:17:19.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2024-11-17T15:17:04.000Z (about 1 month ago)
- Last Synced: 2024-11-17T15:19:48.547Z (about 1 month ago)
- Topics: csharp, interpreter, random-access-machine, windows, windows-11, winui, winui3
- Language: C#
- Homepage:
- Size: 1.92 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# 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.](Assets/app.png)
## 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](LICENSE.txt) file for details.## Acknowledgements
- [CommunityToolkit.WinUI](https://github.com/CommunityToolkit/WindowsCommunityToolkit)
- [Microsoft.UI.Xaml](https://github.com/microsoft/microsoft-ui-xaml)
- [OneOf](https://github.com/mcintyre321/OneOf)