Computer language engineering
Bachelor's degree
In Maynard (USA)
Description
-
Type
Bachelor's degree
-
Location
Maynard (USA)
-
Start date
Different dates available
This course is an update of 6.035 Fall 2005. Selected audio and video lectures can be found in the Fall 2005 Lecture Notes section.
Facilities
Location
Start date
Start date
Reviews
Subjects
- Engineering
- Project
- Design
Course programme
Lectures: up to 4 sessions / week, 1 hour / session
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.
6.170 and proficiency in Java
There are no required texts. Optional references:
Appel, Andrew. Modern Compiler Implementations in Java (Tiger Book). 2nd ed. New York, NY: Cambridge University Press, 2002. ISBN: 9780521820608.
Muchnick, Steven. Advanced Compiler Design and Implementation (Whale Book). San Francisco, CA: Morgan Kaufmann, 1997. ISBN: 9781558603202.
The calendar below includes lectures (L), recitations (R), projects (P), and quizzes (Q).
SA = Prof. Saman Amarasinghe
MR = Prof. Martin Rinard
L2: Regular expressions, language specification by formal grammars (MR)
P1: Scanner/parser project assigned
P1: Scanner/parser project due
P2: Semantic checker project assigned
P2: Semantic checker project due
P3: Code generator project assigned
P3: Code generator project due
P4: Data-flow analysis project assigned
P4: Data-flow analysis project due
P5: Optimizer project assigned
L18: Loop optimization (SA)
P5: Optimizer project design due
Don't show me this again
This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.
MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.
No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.
Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.
Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)
Learn more at Get Started with MIT OpenCourseWare
Computer language engineering