Lecture 1: Syllabus, Overview
Lecture 2: Lexical analysis (regular expression), Homework 1 (due next class)
Mr. Niraj Pandey (email@example.com) will be the teaching assistant for this class.
Lecture 3: Lex - A Lexical Analyzer Generator, Lex example, Lex example.
Project Phase 1: Lexical Analyzer, phase 1 package, due: Jan 29.
Lecture 4: NFA
Lecture 5: DFA, Homework 2 (due next class)
Lecture 6: Syntax analysis,
Project phase 1 sign-on sheet, Project phase 1 grading sheet
Lecture 7: Recursive-Descent Parsing,
Lecture 8: LL(1) Parsing, Homework 3 (due next class).
Lecture 9: LR parser overview
Lecture 10: SLR
Lecture 11: LALR
Lecture 12: YACC, Yacc examples, Homework 4 (due next class)
Midterm to be held on Feb. 25 (Next Monday). Midterm covers Chapters 1, 3, and 4.
Project Phase 2: Syntax Analysis, PASC language specification, Abstract syntax tree specification, Supported C file, Due: March 7, 2008
Lecture 13: Midterm review
Lecture 14: Syntax directed translation
Sample executable for project phase 2 (for linprog or diablo).
Lecture 15: Type checking and Symbol table , yacc_inherit.y
Lecture 16: Type checking and Symbol table
Old proj2.c has a memory leak (buffer overflow) for large input files. Please download the files again: proj2.c, New executable.
Phase 2 Demo signon sheet (Tuesday 03/18)
Project Phase 3: Semantic Analysis, Supporting files, Due date: March 28.
Lecture 17: Runtime Environment
Lecture 18: Intermediate Codes
Lecture 19: Intermediate Code Generation for Assignment Statements
Project Phase 4: Code Generator, Some important points in SPARC assembly Project 4 supporting files, Due date: 04/22 (hard deadline).
A new executable for phase 3
Lecture 20: Boolean expression, Homework 5 (due next class)
Lecture 21: Short circuit code and code generation for control flow statements,
Lecture 22: Backpatching, Homework 6 (due next class)
Review for Final, Final time: Thursday 12:30-2:30pm
Lecture 23: Code Optimization (not in the final)