198:314 - Principles of Programming Languages
Announcements
- Fourth homework problem set has been posted.
- Sample solution for second homework problem set is now available.
- Slides for lecture 8 have been updated.
Staff
- Ulrich (Uli) Kremer
(uli@cs.rutgers.edu)
Office: CoRE 318
Office hours: Th 2:00-3:30pm
- John McCabe (section 9)
Office: CoRE 334
Office hours: W 1:00-3:00pm
- Peter Borosan (section 10)
Office: (tentatively): M 11:00am-noon, W 6:20pm - 7:20pm
Office hours: Hill 355
Prerequisites, Lectures and Recitations
113 and (205 or 202)
lectures : Monday/Wednesday 3:20pm - 4:40pm, ARC 107
recitations : Monday (section 9)/Wednesday (section 10) 5:15-6:10pm ARC 205
Textbooks
- required : Michael L. Scott: Programming Language Pragmatics
Morgan-Kaufmann Publishers, Second Edition, 2006.
- recommended : Aho, Lam, Sethi and Ullman: Compilers: Principles,
Techniques, and Tools (Dragon Book, Second Edition)
Addison-Wesley, 2007.
Read/Post questions
Please post questions regarding homeworks and projects using
Rutgers's Sakai
system . Select Discussion and Private Messages
in our course group (198:314:09 F08).
DO NOT send homework or project
questions directly to John, Peter, or me. THANKS!
You should read the news group at least every other day!
MIDTERM
Wednesday, October 29, in class (tentative). The exam will be a
closed books, closed notes exam.
FINAL EXAM
There will be a final exam. The exam will be a closed book, closed notes
exam.
Lecture Notes
- September 3, 2008 --
Lecture 1
Course overview.
Reading: Scott: Chapter 1
- September 8, 2008 -- Lecture 2
Programming languages syntax - Scanning: Regular expressions, DFAs
Reading: Scott: Chapter 2.1 - 2.2; ALSU: 3.1 - 3.4
- September 10, 2008 -- Lecture 3
More about Scanners; Programming languages syntax - Parsing: BNF,
derivations, parse tree, ambiguity
Reading: Scott: Chapter 2.3 - 2.4; ALSU: 4.1 - 4.4
- September 15, 2008 -- Lecture 4
Parsing: derivations, parse tree, ambiguity, expression grammars -
precedence and associativity
Reading: Scott: Chapter 2.3 - 2.4; ALSU: 4.1 - 4.4
- September 17, 2008 -- Lecture 5
LL(1) parsing, recursive descent parsers
Reading: Scott: Chapter 2.3 - 2.4; 3.1 - 3.2
- September 22, 2008 -- Lecture 6 updated slides
Discussion of tinyL example and its recursive descent parser (in class
on black board)
Reading: Scott: Chapter 2.3 - 2.4; 3.1 - 3.2
- September 24, 2008 -- Lecture 7 updated slides
Names, scopes, and bindings: static (lexical) and dynamic scoping
Reading: Scott: Chapter 3.1 - 3.3
- September 29, 2008 -- Lecture 8 updated slides
Static (lexical) and dynamic scoping: access links and display;
runtime environment
Reading: Scott: Chapter 3.1 - 3.4
- October 1, 2008 -- Lecture 9
Imperative programming; introduction to C: I/O (test.c),
pointers, memory management,
singly-linked lists (singly-linked.c)
Reading: Scott: Chapter 5.1 - 5.3
- October 6, 2008 -- Lecture 10
Pointers in C, memory management,
singly-linked lists, project discussion, RISC target code, things that can go wrong
Reading: Scott: Chapter 5.1 - 5.3
Homeworks
Homeworks will be collected at the beginning of the
Wednesday class. Graded homeworks will be handed out in recitation.
Projects