UD Home
CIS Home
Search
Contact
Welcome Research Undergraduate Graduate Resources People

CISC 672: Advanced Compiler Construction

Catalog Description:
Advanced design and implementation of programming language translators. Emphasis on pausing methods, run- time, storage management techniques, code generation and optimization.

Current Texts:
Compilers: Principles, Techniques, and Tools
Alfred Aho, Ravi Sethi, and Jeffrey Ullman
Addison-Wesley Publishing Company, 1986

Sparc Architecture, Assembly Language Programming & C
R. Paul
Prentice-Hall, 1994

Goals:
To familiarize the student with the basic theory and techniques of building language processors.

Content:

  • Compilers and translators
  • Lexical analysis - finite state automata and regular expressions
  • Context-free grammars
  • Parsing techniques - simple precedence, recursive descent, LL(1) predictive parsing, LR parsing
  • Error detection and recovery
  • Symbol tables and semantic analysis
  • Code generation
  • Optimization and data flow analysis

In addition, the course will depend heavily on the implementation of a major compiler-related project.

Required Background: Basic computer science background, including some background in automata and grammars. Good programming skills, including experience in at least one structured programming language (Pascal, C, C++), CISC 310 (Logic and Programming).

Helpful Background: Previous exposure to the area with emphasis in finite state automata, regular expressions, and context-free grammars. Character (or text) manipulation in a structured programming language.



Department of Computer & Information Sciences
103 Smith Hall | Newark, DE 19716
- email webmaster -