EECS 337: Compiler Design

Fall 2009


Alternate site

Alternate server: lechuck.case.edu


Contents


Instructor and Office Hours

Instructor

Prof. Vincenzo Liberatore
E-mail: vl@case.edu
Office Hours

TA

For questions on the homework, please contact the TA responsible for the assignment.

Pavel Manaenkov (pavel dot manaenkov at case dot edu).
Office hours: Monday and Wednesday, 10:25-11:25 am, Olin 404.5

Remo Mueller (remo dot mueller at case dot edu)
Office hours: 3-4pm Monday, 10-12 Thursday, Wolstein Research Building, 6th floor (ask floor receptionist for Remo's desk). Please, e-mail Remo to verify he is in the office before going to see him.

Tutoring

TBA


Syllabus

Official Syllabus

Design and implementation of compilers and other language processors.  Scanners and lexical analysis; regular expressions and finite automata; scanner generators; parsers and syntax analysis; context free grammars; parser generators; semantic analysis; intermediate code generation; runtime environments; code generation; machine independent optimizations; data flow and dependence analysis.  There will be a significant programming project involving the use of compiler tools and software development tools and techniques.

Prerequisites

EECS 233 and EECS 281.

Lectures

Lecture topics will be posted here prior to class. Advance reading is not required.
Date Topics
November 19 Section 7.4
November 10 Section 8.4.1, 8.6
November 5 Sections 8.2.1, 8.3
November 3 Sections 7.1, 7.2.1, 7.2.2, 7.2.3, 8.1.1, 8.1.2, 8.1.4
October 29 Extended office hours, Q/A.
October 27 6.7.1, 6.7.2, 6.7.3, 7.1, 7.2.1.
October 15 Midterm
October 8 Sections 6.6.1, 6.6.2, 6.6.3, 6.6.4
October 6 Sections 6.4.4, 6.5.1, 6.5.2
October 1 Sections 6.2.2, 6.4.2, 6.4.3
September 29 Sections 1.6.1, 1.6.2, 1.6.3, 1.6.5, 2.7, 6.2.1
September 24 Sections 4.9, 4.1.3, 4.1.4
September 17 Sections 4.3.1, 4.3.2, 4.3.5, 4.5
September 15 Sections 4.1.1, 4.2
September 10 Sections 3.5.1-3.5.3
September 8 Sections 2.1, 3.1, 3.3
September 3 Introduction to Unix and C; Sections 1.2.3-1.2.7
September 1 Introduction to Unix and C
August 27 Introduction to Unix and C
August 25 Sections 1.1, 1.2.1, 1.2.2

Textbook and Links

Textbook

You can buy the book on your own or follow the link to purchase books from Amazon. A percentage of on-line purchases will be returned to the Networks Lab and will be used to acquire technical books that are made available to students, faculty, and staff. If you have suggestions on books to buy, please send an email to vl@case.edu.

Unix and C

Bison

Bison is available in the Jennigs Computing Lab, and can also be downloaded from the bison project web page.

Back-up and version control

Regular Expressions

Regular Expressions .info

valgrind

valgrind

Grading Scheme


Homework

Instructions

Assignments


Exams

Midterm: Thursday, October 15,  1:15pm-2:30pm, Nord 410
Final:  December 10, 12:30-3:30pm, Nord 410


Vincenzo Liberatore / vl@case.edu