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.
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.
Students may receive repeat credit for CSE 131A and CSE 131B by completing CSE 131.
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.
CSE 100 or Math 176, CSE 105 or Math 166, CSE 130, and CSE 70 or 110. Please see Prerequisites page.
Two sections per year, Winter and Spring.
Formerly CSE 131B