G22.2130-001
Compiler Construction
Prof. Mohamed Zahran   (aka Prof. Z)
mzahran AT cs DOT nyu DOT edu
Thursdays 7:10-9:00 pm
Location: CIWW 102
Office hours: Thursdays 5:00-7:00 pm (at CIWW 328  also called room 328 WWH)


Announcements

Welcome students! ... to the compiler construction course, edition Fall 2010.  I will keep updating it regularly.If you have questions related to that course feel free to email me at mzahran@cs.nyu.edu . Here is some basic information:

The course syllabus

Our Grader:
Sindhura Chava
sindhura.chava@nyu.edu

The final exam is scheduled to take place on 
Thursday, December 23, 2010 at 7:10pm in the same place of the lecture.

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. 

I will keep a FAQ page that summarizes important questions and answers from the mailing list.


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                             5.1->5.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) 

Final exam of Spring 2010

Summary of topics and extra problems


Project

Lexical analyzer :  Due Oct 21

Syntax analyzer:   Due Nov 18

Semantic analysis:  Due Dec  9th

Test programs (More programs will be added as we priogress in the project.)

Assignments

Assignments are optional, with due date, and will be returned. It is strongly recommended that you submit them as they will help you
understanding the material and implementing the project. However, they will not hurt your grade.

HW1  due Oct 7th    Solution

HW2    due  Oct  28th    Solution


Useful Links (More specific about our course material)

Flex: fast lexical analyzer for C/C++

Flex Tutorial

bison: gnu version of syntax analyser generator

Interesting Links (General about compilers)

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