Lab homework assignments from a class on Compiler Design from the ETHz (spring 2018)
Find a file
2020-01-15 23:42:51 +01:00
.settings Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
benchmarks Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
docs Documentation 2020-01-15 23:42:51 +01:00
HW0 Homework 0 2020-01-15 22:17:50 +01:00
HWC Homework C 2020-01-15 22:39:02 +01:00
HWD Homework D 2020-01-15 22:39:17 +01:00
javali_tests Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
src/cd Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
test/cd Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
.classpath Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
.gitignore Homework 1 2020-01-15 22:29:20 +01:00
.project Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
build.xml Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
Grade.txt Add final grade 2020-01-15 22:40:05 +01:00
Javali tests.launch Homework B (benchmarks) 2020-01-15 22:38:07 +01:00
README.md Documentation 2020-01-15 23:42:51 +01:00

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.