University of Colorado at Boulder
University of Colorado at Boulder Search A to Z Campus Map CU Search Links
ECE Home
Course List
Contact Us

ECEN 5523 (CSCI 5525) - Compiler Construction

Catalog Data ECEN 5523 (3). Compiler Construction. Introduces the basic techniques used in translating programming languages: scanning, parsing, definition table management, operator identification and coercion, code selection and register allocation, error recovery. Students build a complete compiler, by hand, for a simple language.
(Meets with ECEN 4553.)
Credits and Design 3 credit hours. Elective course.
Prerequisite(s) ECEN 2703, Discrete Mathematics
ECEN 3350, Programming of Digital Systems
Textbook Instructor’s notes
Course Objectives After taking this course, a student should have:
  • An understanding of how linear sequences of characters are represented as hierarchical structures that encode meaning
  • Familiarity with common techniques for analyzing relationships among components of hierarchical structures and transforming those structures
  • The ability to realize concepts of imperative programming languages in terms of concepts embodied in computer hardware
Topics Covered
  1. Compiler organization
  2. Modularity
  3. Lexical analysis
  4. Syntacic analysis
  5. Abstract syntax trees
  6. Name analysis and environments
  7. Type analysis
  8. Run-time environments and support
  9. Target tree generation
  10. Register allocation
  11. Instruction selection
  12. Error recovery
  13. Optimization

Last revised: 08-02-11, PM, ARP.