Lab homework assignments from a class on Compiler Design from the ETHz (spring 2018)
.settings | ||
benchmarks | ||
docs | ||
HW0 | ||
HWC | ||
HWD | ||
javali_tests | ||
src/cd | ||
test/cd | ||
.classpath | ||
.gitignore | ||
.project | ||
build.xml | ||
Grade.txt | ||
Javali tests.launch | ||
README.md |
Compiler design homework assignment
The goal is to create a compiler from a subset of Java (JavaLi) to 32bit Intel assembly. The structure is the following:
- HW0: write an assembly program that reads numbers (not graded). PDF
- HW1: implement a code generator that translates assignment statements to IA32. PDF
- HW2: construct a lexer (lexical analyzer) and a parser (syntax analyzer) for the complete JavaLi programming language. PDF
- HW3: develop a semantic analyzer. PDF
- HW4: build a IA32 back-end for the compiler, a generator of IA32 for the complete JavaLi language. PDF
- HWB: implement as many optimizations as possible (focusing on speed and correctness). PDF
- HWC: review the code of other teams for HW1 and write up a report. PDF
- HWD: review the code of other teams for HW4 and write up a report. PDF
License
Copyright (c) 2018 Carlos Galindo, Levin Moser, teaching group of Compiler Design (ETH Zürich). All rights reserved.