CS461 -- Compilers

Brad Vander Zanden

Lecture Notes


  1. Please note that some of the assigned readings are from the CD that accompanies the Scott textbook.
  2. As we get closer to the day when we will cover a topic, the assigned reading from Scott that day may become more specific, as has been done for the first three chapters of Scott.

Topics (Days) Textbook Readings Online Notes
Course Introduction (1) Scott Ch 1.4-1.6  
Regular Expressions and Grammars (2) Scott: 2 - 2.1 -- Specifying syntax
  1. lexical scanning
  2. grammars
Lexical Analysis and Lex (1) Scott: 2.2
  1. my flex notes
  2. flex manual
Parsing and Yacc (2) Scott: 2.3 - 2.3.2, 2.4
  1. parsing (Read up to the part entitled "C. LR Parsing Algorithm").
How to build parse trees for your project (1) none
  1. bison
  2. building parse trees
Names, Scopes, and Binding (2) Scott: 3.1-3.5, 3.8  
Semantic Analysis (2) Scott: 4  
Target Machine Architecture (2) Scott: 5  
Control Flow (especially iterators) (1) Scott: 6  
Data Types (2) Scott: 7  
Subroutines (2) Scott: 8  
Objects (2) Scott: 9  
Building a Runnable Program (2) Scott: 14  
Runtime Environments (2) Scott: 15  
Project Presentations (2)