Prerequisite: 6.170 and
proficiency in Java
U (1)
4-4-4
Analyzes issues associated with the implementation of higher-level programming languages. Fundamental concepts, functions, and structures of compilers. Basic program optimization techniques. The interaction of theory and practice. Using tools in building software. Includes a multi-person project on design and implementation of a compiler written in Java that generates MIPS executable machine code. 8 Engineering Design Points.
Check the class wiki for FAQs and team updates.
All projects should be submitted by 5pm on the due date. Hard copies must be turned in to 32-G764 by 5pm, and online submissions must have timestamps before 5pm.
Late penalty for projects is TBD.
The FORTRAN Automatic Coding System
Programming as an Experience: The Inspiration for Self
Faculty
Martin Rinard
32-G744
Saman Amarasinghe
32-G778
Course Secretary
Mary McDavitt
32-G746
Tel: x3-9620
Teaching Assistant
Punyashloka Biswal
[TBA]
To email the entire course staff:
Monday, Tuesday, Wednesday, and Thursday
11:00am - 12:00noon
32-124
You should be able to find these at the Coop, Quantum Books, or Amazon.
Modern Compiler Implementation in Java (Tiger book)
A.W. Appel
Cambridge University Press, 1998
ISBN 0-52158-388-8
A textbook tutorial on compiler implementation, including techniques
for many language features
Compilers: Principles, Techniques and Tools (Dragon book)
Aho, Sethi and Ullman
Addison-Wesley, 1986
ISBN 0-20110-1947
The classic compilers textbook, although its front-end emphasis
reflects its age.
Advanced Compiler Design and Implementation (Whale book)
Steven Muchnick
Morgan Kaufman Publishers, 1997
ISBN 1-55860-320-4
Essentially a recipe book of optimizations; very complete and suited
for industrial practitioners and researchers.
Engineering a Compiler (Ark book)
Keith D. Cooper, Linda Torczon
Morgan Kaufman Publishers, 2003
ISBN 1-55860-698-X
A modern classroom textbook, with increased emphasis on the back-end
and implementation techniques.