CS 3723 Programming Languages
Lectures, Exams, and Assignments -- Spring 2001

Lectures, Exams, and Assignments, Spring 2001
Week Dates Topic Assignment / Exam Date Text
1 Jan 17, 19
(Jan 15: MLK)
Intro, course organization.
Programming language(PL) overview.
Syntax versus semantics.
Run-time versus compile-time.
     
2 Jan 22, 24, 26 Compiler overview.
Translation versus interpretation.
Nogoto Assignment Jan 24 1, 2.1
3 Jan 29, 31, Feb 2 The lexical level of a language.
Lexical analysis (scanning or tokenizing).
Finite-state machines (FSM, automata).
0. Quadruple Interpreter Jan 31 3.1
4 Feb 5, 7, 9 FSMs and lexical analysis, con't.
Hand-made versus automated scanners.
FSM Homework Feb 7 2.6, 3.2,
3.3, 3.6
5 Feb 12, 14, 16 Formal description of PLs.
Grammars (context-free grammars).
I. Initial Scanner Feb 14 2.2
4.1, 4.2
6 Feb 19, 21, 23 Grammars con't.  Flow diagrams.
Parsing and ambiguity.
Grammar Homework Feb 21 4.3
7 Feb 26, 28, Mar 2 Specifics on parsing.
Top-down (recursive descent) parsing.
Parentheses Homework Feb 28 2.4, 4.4
8 Mar 5, 7, 9 Intro to syntax-directed translation.
Translating arithmetic expressions (AEs).
  Mar 7 2.3
5.1, 5.2
Spring Break, Mar 12-17
9 Mar 19, 21, 23
(Mar 23: Last drop)
Symbol tables in PL translation.
Semantics in compliers
Midterm Exam
(review, answers)
Mar 21 2.7, 7.6
10 Mar 26, 28, 30 Translation of flow-of-control.
Goto, if-then, while.
II. Initial Parser Mar 26 8.4, 8.6
11 Apr 2, 4, 6 Discuss the Postscript language.     7.2, 7.3
12 Apr 9, 11, 13 Discuss the prolog language. III. Translate AEs to
      Quadruples
Apr 13 8.7
13 Apr 16, 18, 20 Work on final details of project. IV. Translate if, while
       Structures
April 20  
14 Apr 23, 25, 27
(Apr 27: B of F)
Leeway     4.5
15 Apr 30, May 2
(May 3, 4: Study)
Leeway. Postscript Homework   Apr 30
  May 9   Final Exam May 9
8 am
 

Late Penalties: Assignments are due at the start of class on the due date, usually a Wednesday. There will be a 10% penalty for late programs turned in before the weekend, and a 25% penalty for programs turned in on Monday, after the weekend. Programs will not be accepted after the Monday following the Wednesday deadline. (Thus programs must be turned in no later than the following class period.) (See Grading Policy.)

No Team Programming: The course project has 5 parts, aiming to produce a single final program. In case you have trouble with one part, you should hand in your best effort for partial credit. Then for later parts you may use someone else's earlier program for the previous parts, with no penalty (but the borrowed code must be identified).

Details about Exams: Exams appear in green in the table above.


Textbook:  Compilers: Principles, Techniques, and Tools
By Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Addison-Wesley, 1986.
 


Revision date: 2001-03-05. (Please use ISO 8601, the International Standard Date and Time Notation.)