Study Guide for Compiler Construction
Topics
- The role of a compiler and how it is similar/different from
an interpreter/assembler
- The phases of a compiler including input/output and
description of each phase
- Lexical analysis (Scanning)
- Finite-State-Automata
- Regular Expressions
- Grammars (CFG, BNF, derivations, ambiguity, hierarchy, ...)
- Parsing: Top-down vs. Bottom-up and parse-trees
- Top-down Parsing
- Recursive Descent Parsers
- Table-driven Parsers
- LL(1) Grammars and Parsers
- LL(k) Parsing
- Bottom-up Parsing
- Shift-Reduce parsers
- Operator-precedence parser
- LR parsers
- Syntax-Directed translation
- Intermediate representations and Code generation
- Symbol tables, variable access, displays, lambda-lifting
- Storage management
- Semantic processing: declaration, variables, types,
expressions, simple control structures
- Semantic processing: procedures
- Optimization
- Code generation
- Compiler generator tools--Lex, Yacc, .. etc.
- Dataflow analysis
- Register allocation: Sethi-Ullman
References
- Appel.
Modern Compiler Implementation in Java
- Fischer and LeBlanc (1991).
Crafting a Compiler with C
- Fischer and LeBlanc (1988).
Crafting a Compiler
- Aho, Sethi, and Ullman (1988)
Compilers Principles, Techniques, and Tools
- Parsons (1992)
Intro to Compiler Construction
Document location: http://www.cs.fit.edu/~ryan/grad/cex-compiler.html
Last modified: Wed Mar 6 14:27:42 EST 2002