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.
- Use the Reply command to
contribute to the current thread, but NOT to start
another topic.
- If quoting a previous message, try to trim off
irrelevant parts.
- Use a descriptive Subject: field when starting a new topic.
- Do not use one message to ask two unrelated questions.
- Do NOT make the mistake of sending your
completed project assignment to 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
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