CS-415: Compilers
01:198:415 Compilers
Offered in: SPRING ONLY
Credits: 4
Objectives: To reveal the general concepts and theoretical
foundations of programming language translation
and implementation. Emphasis will be placed on
imperative languages.
Recommended for all students interested in
programming languages and techniques used to
build software tools (i.e., debuggers, browsers).
Prerequisites: 01:198:211 Computer Architecture (or 14:330:337)
01:198:314 Programming Languages
Outline: Compilers
Methods of language specification
Lexical analysis
Top-down (recursive descent) and bottom-up (LR)
parsing methods
Semantics-driven translation
Code generation
Symbol tables and intermediate code forms
Procedures and run time stacks
Recursion implementation
Code Optimization
Expected Work: Work will consist primarily of a large
programming project, usually the implementation
of a working compiler for a simulated abstract
machine. Some additional written homework will
be assigned. Previous knowledge of C or C++
will be useful.
Examinations: A midterm and a final examination.
Texts: Aho, Sethi & Ullman
''Compilers: Principles, Techniques, and Tools"
Addison-Wesley, 1986