https://github.com/alexp11223/minic-edu-app
Very basic IDE and visualization/simulation of Mini-C compiler. Tokens, AST, bytecode step-by-step execution
https://github.com/alexp11223/minic-edu-app
compiler-principles ide jvm jvm-bytecode kotlin simulation visualization
Last synced: 8 months ago
JSON representation
Very basic IDE and visualization/simulation of Mini-C compiler. Tokens, AST, bytecode step-by-step execution
- Host: GitHub
- URL: https://github.com/alexp11223/minic-edu-app
- Owner: AlexP11223
- Created: 2017-04-07T21:19:18.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-11T05:56:43.000Z (over 8 years ago)
- Last Synced: 2025-03-31T09:37:42.311Z (9 months ago)
- Topics: compiler-principles, ide, jvm, jvm-bytecode, kotlin, simulation, visualization
- Language: Kotlin
- Homepage:
- Size: 109 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.org/AlexP11223/minic-edu-app)
Very basic IDE and vizualization/simulation of Mini-C compiler (https://github.com/AlexP11223/minic).
Allows to see output for each compilation phase, such as tokens, AST image, generated JVM bytecode and to execute bytecode step-by-step simulating JVM operand stack and variables changes.
Implemented in Kotlin, using JavaFX ([TornadoFX](https://github.com/edvin/tornadofx)) for GUI, [RichTextFX](https://github.com/TomasMikula/RichTextFX) text editor.






# How to build
Requirements:
- JDK 8+.
- Maven 3+.
Run Maven **package** phase. This will download all dependencies, run JUnit tests and build JAR file + native application/bundle (such as .exe for Windows). Check Maven output to see if all tests and build steps are completed successfully.
(Maven is included in popular Java IDEs such as IntelliJ Idea or Eclipse. You can run it either via your IDE Maven plugin or from command line in separate [Maven installation](https://maven.apache.org/install.html): `mvn package`.)
`dist/` folder will contain JAR file and native bundles for the target OS, such as .exe for Windows, as well as sample source code files.
Some of the tests (as well the application itself) launch `java`, using path from `System.getProperty("java.home")`. Fallbacks to `java` (from PATH environment variable) if it is not found.