CSE131 – Compiler Construction
Units: 4
Course Objectives:
Students may take CSE 131 for repeat credit of CSE 131A and CSE 131B. This course introduces
techniques for translating textual data from one form into another;
in particular, translating high-level program text into machine assembler. Basic computer
science principles are emphasized, such as correctness, modular structure, application of
theory, management of tradeoffs, efficiency of the translator, and quality (e.g., speed)
of the translated text.
Course Description:
Introduction to the compilation of programming languages, practice of lexical and
syntactic analysis, symbol tables, syntax-directed translation, type checking, code
generation, optimization, interpretation, and compiler structure.
Format:
Per week: 3 hours of lecture, 1 hour discussion section, 6 hours of computer lab, and 2 hours of
outside preparation.
Prerequisites:
CSE 30, CSE 100 or Math 176, CSE 105 or Math 166, and CSE 130 or consent of instructor.
Other restrictions:
Majors only.
Example Textbook(s):
Compilers, Principles, Techniques, and Tools, Aho, Sethi and Ullman, Addison-Wesley.
Laboratory work:
The course includes a project for designing software which does lexical, syntactic and static
semantic analysis of a programming language. The project makes an extensive use of such
software tools as LEX and BISON.
Offered:
Two sections per year, Winter and Spring.