CSCI-GA.2130-001
Compiler Construction
Prof. Mohamed Zahran   (aka Prof. Z)
mzahran AT cs DOT nyu DOT edu
Wednesdays 7:10-9:00 pm  Location: WWH 312


Announcements

Welcome students! ... to the compiler construction course, edition Spring 2012.  I will keep updating it regularly. If you have questions related to that course feel free to email me. Here is some basic information:

The course syllabus

Our grader: Robert Soule:    soule (at) cs.nyu.edu  [office in 719 Broadway, Room 715]

Final exam:  Wednesday, May 9 th, 2012 from 7:10-9:00 PM in room WWH 312

Mailing List

Sign up for the Mailman mailing list for the course. You can do so by clicking here. Please follow the mailing list etiquette. 


Lectures

Lecture                                               File                                       reading                 

1. Introduction                                     pdf                            1.1, 1.2 and skim 1.3 to 1.6

2. Simple Syntax-Directed Translator I   pdf                            2.1 to 2.4

3. Simple Syntx-Directed Translator II   pdf                             2.5 to 2.8  and skim 2.5.4, 2.5.5, 2.6.5, 2.8.2, and 2.8.4

4. Lexical Analysis I                             pdf                             3.1 to 3.5

5. Lexical Analysis II                            pdf                             3.6->3.9 except: skim (3.7.3, 3.7.5, 3.9.1->3.95, and 3.9.8)

6. Syntax Analysis  I                             pdf                             4.1->4.5 except: skim: (4.2.6, 4.3.5, 4.4.4, and 4.4.5)

7. Syntax Analysis II                             pdf                             4.6->4.9 except: skim (4.6.5, 4.7.5, 4.7.6, 4.8, and 4.9.2)

8. Syntax-Directed Translations             pdf                             Chp 5 except: skim (5.3, 5.4.3->5.4.5, 5.5.3, and 5.5.4)

9. Intermediate-Code Generation I         pdf                             6.1 -> 6.4 except: skim (6.3.1 and 6.3.2)

10. Intermediate-Code Generation II      pdf                             6.5->6.9 except: skim (6.5.3, 6.5.4, 6.5.5, 6.6.5, 6.7, 6.8, and 6.9)

11. Run-Time Environments                 pdf                              chp 7 except: skim (7.3, 7.5.2, 7.6, 7.7, and 7.8)

12. Code Generation I                          pdf                              8.1->8.5 except: skim (8.3.3, 8.5.4, 8.5.5, 8.5.6, and 8.5.7) 

13. Code Generation II                         pdf                              8.6-> 8.9 except: skim (8.8, 8.9.3, 8.9.4, 8.9.5) 

Summary of topics and extra problems

Project

Lexical analyzer :  Due Feb 22nd

Syntax analyzer:   Due Mar 28th  (slides)

Semantic analysis:  Due Apr 12th

Code generation:  Due May 2nd

Test programs


Homework Assignements

hw1  - Due March 7th  solution

hw2 - Due April    4th  solution


Older Exams

Spring 11
Fall 10

Useful Links (More specific about our course material)

Flex: fast lexical analyzer for C/C++

bison: gnu version of syntax analyser generator

Interesting Links (General about compilers)

Interesting debate about YACC

Another Parser genertor (ANTLR) 

An Interview with Michael Rabin: ACM Communications Magazine Vol 53, No. 2, Feb 2010  See how automata theory was discovered and evolved.

Compiler Research: The Next 50 years:  ACM Communications Magazine, Vol 52, No. 2, Feb 2009

Power Efficient Software: ACM Communications Magazine Vol 53, No. 2, Feb 2010

Compilers resources page

Phoenix: the basis for all future Microsoft compiler technologies