Skip to content

Latest commit

 

History

History
27 lines (20 loc) · 1.11 KB

README.md

File metadata and controls

27 lines (20 loc) · 1.11 KB

MeggyJava Compiler

This is the course work for UVa CS6620, Compiler.

MeggyJava is a programming language based on MiniJava. It can be used to program Meggy Jr RGB, which is a handheld platform for developing your own pixel-scale video games.

This complier will translate MeggyJava code into AVR Assembly, which can be run on the simulator and Meggy Jr RGB device. Also, it will generate a dot file to visualize its AST and Symbol Table.

Usage

// using only lexer
java -jar MJPA2.jar example.java
// using compiler
java -jar MJ.jar example.java
// using simulator
java -jar MJSIM.jar -b -f example.java.s
// visualize AST
dot example.ast.dot -Tpng -o example.ast.png
// visualize Symbol Table
dot example.ST.dot -Tpng -o example.ST.png

For example, Test.java has the following AST and Symbol Table:

AST Symbol Table