everything.study
6.035

Computer Language Engineering (SMA 5502)

Undergraduate · Historical course

Spring 2010 · Computer Language Engineering

This course analyzes issues associated with the implementation of higher-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, the interaction of theory and practice, and using tools in building software. The course includes a multi-person project on compiler design and implementation.

Readings

  • Appel, Andrew. Modern Compiler Implementations in Java (Tiger Book) . 2nd ed. New York, NY: Cambridge University Press, 2002. ISBN: 9780521820608.
    Listed reading
  • Muchnick, Steven. Advanced Compiler Design and Implementation (Whale Book) . San Francisco, CA: Morgan Kaufmann, 1997. ISBN: 9781558603202.
    Listed reading
Fall 2005

6.035 is a course within the department's "Computer Systems and Architecture" concentration. This course analyzes issues associated with the implementation of high-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, basic program optimization techniques, the interaction of theory and practice, and using tools in building software. The course features a multi-person project on design and implementation of a compiler that is written in Java® and generates MIPS executable machine code. This course is worth 8 Engineering Design Points. This course was also taught as part of the {{% resource_link "f83061c6-7bda-4d48-a2a5-9f18df63fb7f" "Singapore-MIT Alliance" %}} (SMA) programme as course number SMA 5502 (Computer Language Engineering).

Readings

  • Appel, Andrew W. Modern Compiler Implementation in Java® . Cambridge, UK: Cambridge University Press, 1997. ISBN: 0521583888. A textbook tutorial on compiler implementation, including techniques for many language features. (Tiger book)
    Recommended
  • Aho, Alfred V., Ravi Sethi, and Jeffrey Ullman. Compilers: Principles, Techniques and Tools . Reading, MA: Addison-Wesley, 1986. ISBN: 0201100886. The classic compilers textbook, although its front-end emphasis reflects its age. (Dragon book)
    Recommended
  • Muchnick, Steven. Advanced Compiler Design and Implementation . 1st ed. San Mateo, CA: Morgan Kaufman, 1997. ISBN: 1558603204. Essentially a recipe book of optimizations; very complete and suited for industrial practitioners and researchers. (Whale book)
    Recommended
  • Cooper, Keith, and Linda Torczon. Engineering a Compiler . San Mateo, CA: Morgan Kaufman, 2003. ISBN: 155860698X. A modern classroom textbook, with increased emphasis on the back-end and implementation techniques. (Ark book)
    Recommended
  • Backus, J. W., R. J. Beeber, S. Best, and R. Goldberg, et al. “The FORTRAN Automatic Coding System.” In Proceedings of the Western Joint Computer Conference, Los Angeles, California (February 1957).
    Listed reading
  • Smith, Randall B., and David Ungar. “Programming as an Experience: The Inspiration for Self.” Proceedings of ECOOP'95, LNCS 952, Springer Verlag (1995).
    Listed reading
Sources