CS 516-3
Advanced Compilers
Catalog Description
A continuation of 416 including advanced topics in lexical and syntax analysis, error recovery, semantic analysis, code optimization, and compiler compilers.
Prerequisite:
CS 416
Course Outline
| 1. | Lexical Analysis
Some sophisticated pattern matching algorithms and their optimization. Use of LEX. |
|
| 2. | Error Recovery
Detection, reporting, recovery and repair of errors in the compilation process. |
|
| 3. | Syntax Analysis
Cannonical LR parsers, handling of ambiguous grammars, error reporting in LL(1), operator precedence and LR parsing, efficient generation of LALR(1) sets, optimization of LR parsers, optimization of transformations. |
|
| 4. | Run Time Storage
Activation records, handling recursive calls, management of variable length blocks, garbage collection and compaction |
|
| 5. | Type Checking
Overloading of functions and operators, polymorphic functions, unification algorithm. |
|
| 6. | Code Generation and Semantic Analysis
Semantic stacks, attributed translation, analysis of syntax directed translation. |
|
| 7. | Code Optimization
Basic blocks and folding, optimization within iterative loops, global optimization through flowgraph analysis, code improving transformations, Machine dependent optimization. |
|
| 8. | Compiler-Compilers
Parser generators, YACC, attributed LL(1) parser generator, machine independent code generation. |
|
| 9. | Other Topics
COMPILERS for parallel machines, compilers for functional languages. |
|