A simple compiler to make programming Minecraft CPUs easier!
·
Report Bug
·
Request Feature
Table of Contents
Over time Minecraft CPUs have grown bigger and more powerful - to a point where you're able to play games like Pong and Tetris on them. Unfortunately inputting such big programs by hand is a pain. This project is supposed to make this process a lot easier by providing an easy-to-use programming language aswell as a program for generating customizable schematics from your code.
The project is pretty much made from scratch besides some ease-of-life libraries.
To get the MC Compiler up and running follow these simple steps.
- Visual Studio 2022
- .NET 6
Installing the project only requires you to clone the repo and open it up in VS 2022
-
Clone the repo
git clone https://github.com/Jan1902/MCCompiler.git
-
Open it up in VS 2022
Both the compiler and the Schematic Generator are operated through the command line making it easy to use.
CompilerTest.exe -c <CODE-FILE> -i <INSTRUCTION-SET-FILE> -o <OUTPUT-FILE>
CompilerTest.exe -c code.txt -i is.txt -o result.txt
SchematicGenerator.exe <BINARY-FILE> <CONFIG-FILE>
SchematicGenerator.exe result.txt config.json
- Compiler
- Loading Instruction Sets
- Tokenizer
- Parser
- Better Syntax Error Recognition
- Support different CPU architectures
- Intermediate Language
- Analyzer
- Transformer
- Translator
- Handling nested calculations
- Proper CLI
- Register Allocation
- Automatically create temporary variables when needed
- Schematic Generator
- Configuration
- Command Line Parser
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Jan-Hendrik Heinbokel - [email protected]
Project Link: https://github.com/Jan1902/MCCompiler