Computer Language Engineering (SMA 5502)
Exams
This section contains practice quizzes given to students in the course.
YEARS |
EXAMS |
Fall 1999 |
Practice Quiz 1 (PDF) |
Fall 2005 |
Practice Quiz 2 (PDF) |
Fall 2004 |
Practice Quiz 3 (PDF) |
Projects
The main course work of 6.035 is the design and implementation of a compiler. In each segment of the course, a part of the compiler will be constructed. The five segments are: the scanner and parser, semantic checker, code generator, data-flow optimizer and instruction optimizer. The five assignments are all group projects. Students may choose between two versions of the compiler project: an 18-unit version (more time consuming) and a 12-unit version. The 12-unit version of the project is intended to provide a hands-on experience of building a simple yet complete compiler. The 18-unit version of the project is intended to also illustrate some of the real world problems that arise in building industrial-strength compilers. The project documents in this section refer to Athena, which is MIT's UNIX®-based computing environment.
- Project Overview (PDF)
- Decaf Spec (PDF)
- Scanner/Parser Project (PDF)
- Semantics Project (PDF)
- Code Generation Project (PDF)
- Appendix to Handout 9: X86-64 Architecture Guide (PDF)
- Dataflow Optimization Project (PDF)
- Low-level Optimization Project (PDF)