- Warmup Assignment: Due 2/6/2017
- Project Handout: Warmup17.pdf
- Test Files (should pass)
- Test files (should fail)
- All test files tar'ed up: testcases.tar
- Lexical Analyzer. Due 2/10/2017
- All required files: lexer.tar.gz
- Directory of all files: lexer
- Parser I Due 2/24/2017 (but recommended that you complete no later than 2/22)
- All required files: parser.tar.gz
- Directory of all files: parser
- Parser II Due 3/10/2017
What to do:- Create a new directory parser2
- Copy your simplejava.jj into this directory
- Copy all of the required files below into this directory
- Modify simplejava.jj so that it creates the appropriate AST
- Run TestParser on the test files. For each test file (testx.sjava) I have given you the correct output (testx.sjava.AST). Use diff to make sure they are the same!
- Provided Files
- All required files tar'ed up: parser2.tar.gz
- Directory of all files: parser2
- Semantic Due 4/03/2017
What to do:- Create a new directory semantic, and copy all of the required files below into this directory
- Alternately, just unzip semantic.tar.gz to get a directory semantic
- Copy all of your code from your parser2 directory into the new semantic directory (Including AST*.java, and other support files provided for Parser2)
- Modify the file SemanticAnalyzer.java so that it correctly traverses the AST and checks for semantic errors
- The provided SemanticAnalyzer.java is very bare bones!
- Run TestSemantic on the test files.
- Provided Files
- All required files tar'ed up: semantic.tar.gz
- Directory of all files: semantic
What to do:
- Create a new directory assembly, and copy all of the required files below into this directory
- Alternately, just unzip assembly.tar.gz to get a directory assembly
- Copy all of your code from your semantic directory into the new assembly directory
- Extend AATBuildTre.java so tat it can correctly build various Abstract Assembly Trees
- Be sure to test your AATBuildTree code! I gave you a file TestAATBuildTree.java that tests some of the functionality of AATBuildTree -- you should extend TestAATBuildTree.java to test more cases!
- Modify your SemanticAnalyzer.java from the previous project to add calls to AATBuildTree to build the correct trees
- Run TestAssembly on the test files. The code TestAssembly runs your semantic analyzer, prints out the Abstract Assembly Tree, and then runs an AATInterpreter on the result
- Provided Files
- All required files tar'ed up: assembly.tar.gz
- Directory of all files: assembly
What to do:
- Create a new directory codegen, and copy all of the required files below into this directory
- Alternately, just unzip codegen.tar.gz to get a directory codegen
- Copy all of your code from your assembly directory into the new codegen directory
- Extend CodeGenerator.java so that it can correctly tile / emit code for all Abstract Assembly Trees
- Test your generated assembly using mars
- Provided Files
- All required files tar'ed up: codegen.tar.gz
- Directory of all files: codegen