COP5621, Compiler Construction


Syllabus


Lecture 1: Syllabus, Overview

Lecture 2: Lexical analysis (regular expression), Homework 1 (due next class)

Mr. Niraj Pandey (pandey@cs.fsu.edu) 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)

queen.pasc, hist1.pasc

Review for Final, Final time: Thursday 12:30-2:30pm

Lecture 23: Code Optimization (not in the final)