Compiler Design - CSC 431
Principles and practices in the design of programming language compilers. Topics: lexical analysis, parsing theory (LL, LR, and LALR parsing), symbol tables, type checking, common representations for arrays, runtime conventions for procedure calls, storage allocation for variables, and generation of code. Students construct two compilers as the programming projects: the first is a simple predictive parser and the second is a rather large project using Lex and Yacc. Prerequisite: CSC 311.