(Click image for larger picture.)

CS 3723/3721 Programming Languages
Recitations for Fall 2002


Below, "text" refers to chapters and sections in Concepts of Programming Languages, Fifth Ed. by Robert W. Sebesta, Addison-Wesley, 2002.

  1. No goto. Elimnate all gotos from an arbitrarily complicated program that includes them. (Most languages except Java have a goto construct, although all languages discourage its use.) [Text: 1]

  2. Lexical Analysis and Finite State Machines. Work on FSMs for C-style comments and for floating point numbers, [Text: 4.2]

  3. Formal Grammars. Write parse trees, derivations, and new grammars. [Text: 3.3]

  4. Parsing -- Bottom-up, Shift-Reduce. Carry out a bottom-up parse by hand, using the shift-reduce method and a table for a specific grammar. [Text: 4.5]

  5. Parsing -- Top-down, Recursive Descent. Write a recursive descent parser for a given grammar. [Text: 4.4]

  6. Semantic Actions, Compilers. Add semantic actions to translate arithmetic expressions to machine language. [Class notes]

  7. C/C++/Java: Arrays, Enumerated Types, and Pointers. Work on examples of these in the different languages. [Text: 6]

  8. C/C++/Java: Functions and Parameters. Examples and implementation methods. [Text: 9, 10]

  9. C/C++/Java: structs and classes. Examples in the different languages. [Text: 11, 12]

  10. C/C++/Java: Genericity. Strategies to achieve generic code in the different languages. [Text: 9.8]

  11. Lisp and Functional Languages. Practice with lisp and with writing simple recursive functions. [Text: 15]

  12. Prolog and Logic Programming. Practice with simple database examples using Prolog. [Text: 16]

  13. Postscript and 2-dimensional Graphics. Using simple Postscript to create your own business card. [Online "Blue" book]


Revision date: 2002-07-20. (Please use ISO 8601, the International Standard.)