- Department of Computer Science
- Vision, Mission, & Values
- Degrees & Programs
- Courses
- First Year Transfer Students
- Current Students
- Prospective Students
- Faculty & Staff
- Professors Emeritus
- Industrial Advisory Board
- Financial Assistance
- Employment Opportunities
- Donate
- Graduate Capstone
- Careers for Majors
- Resources
- Contact Us
- Help for Students
CS 4110 Compiler Design (4) 2005
Catalog Description
Design and construction of high-level language translators. Formal language theory, parsing algorithms, interpreting, code generation, optimization. Construction of a small compiler. Prerequisites: CS 3120 and CS 3240
Course outline
Overview of compilers
Scanners: theory and implementation
- finite state machines
- regular expressions
- implementation issues for lexical analyzers
Parsers:
theory and implementation
General
- top-down and bottom-up parsing techniques
- grammars, derivations, ambiguity
- first and follow sets
- error detection and recovery
Recursive Descent Parsers
- suitable grammars
- implementation
LL Parsers:
grammar and implementation issues
LR Parsers
- shift-reduce algorithm
- table construction methods
- compiler generators
Symbol tables:
implementation issues
Code generation
- intermediate code forms
- techniques
Optimization:
topics, if time permits
Run-time organization and support
- stack-based storage
- heap storage issues
- procedure calls
- implementation of parameters
Texts
- Aho, Sethi, Ullman, Compilers
- Parsons, Introduction to Compiler Construction
- Brinch-Hansen, On Pascal Compilers