CSC608: Language Theory and Parsing Techniques 6 credits (40-10-10)

Objectives

To provide a focus on the design and use of programming languages translators and address advanced topics in the construction of compilers.

Contents

Regular, context-free, context-sensitive, recursive, LL(k), LR(k) grammars; related automata theory; scanning and parsing techniques; type theory and semantic checking; run-time organization; storage allocation; advanced theory and methods of code generation; error-recovery; use of compiler-writing tools; Code optimization; data flow analysis frameworks; Domain Specific Languages; generic/meta-programming; PL paradigms (e.g., functional, object-oriented) and relevant semantics; machine architectures (e.g., pipelining, parallelism, memory hierarchies).