Skip to Content

CSE131 - Compiler Construction

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.

Course Objectives: 

Starting Fall 2010, CSE 131 also requires CSE 70 or CSE 110, in addition to CSE 100, CSE 105 and CSE 130.

Starting Fall 2007, 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.

Format: 

Per week: 3 hours of lecture, 1 hour discussion section, 6 hours of computer lab, and 2 hours of outside preparation.

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.

Textbooks: 
  • Compilers: Principles, Techniques, and Tools, Aho, Sethi and Ullman, Addison-Wesley.
Prerequisites: 

CSE 100 or Math 176, CSE 105 or Math 166, CSE 130, and CSE 70 or 110.

Offered: 

Two sections per year, Winter and Spring.

Formerly CSE 131B as of Fall 2007