Graduate Comprehensive Examination
Compilers
Coordinator:
Lina Khatib
<lina@cs.fit.edu>.
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
- Storage management
- Semantic processing: declaration, variables, types,
expressions, simple control structures
- Semantic processing: procedures
- Optimization(*)
- Code generation(*)
- Compiler generator tools--Lex, Yacc, .. etc.(*)
- Parsing in the Real World(*)
Remark: the items ended with (*) are worth no more than
20% of the total points
References
- 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
- Any Compilers book(s) that cover the listed topics.
Last modified: Thu Jan 9 1997