CS 375: Compilers


CS 375 covers the design and construction of compilers for programming languages. Each student writes a compiler for most of Pascal; code is generated for a real processor and is run on hardware.

This course has a heavy programming workload, especially in the summer. Students planning to take the course in summer should expect to dedicate their lives to this course for five weeks; do not try to work while taking CS 375 in summer.

Instructor: Gordon S. Novak Jr., GDC 3.824; Office Hours: 4:00 - 5:00.

TA: Yun-Sik Choi , Office Hours: M T Th 10:30 - 11:30 in the GDC basement TA station, and by appointment.           yunsik@cs.utexas.edu

Syllabus

Text: Aho, Lam, Sethi, & Ullman, Compilers: Principles, Techniques, and Tools, Optional.

iClicker: An iClicker, version 1 or 2, is required. If you already have an iClicker, it should work.
Register your iClicker on Blackboard: select the CS 375 class, select Blackboard Tools on the menu at left, scroll down to the iClicker tool.

Clicker Questions

Grades on Canvas

Lecture Notes: Available in printed form in WEL 2.228.
Online by Contents or Index or PDF.     Table of Chomsky Language Hierarchy

Lecture Notes Annotated on NB

Vocabulary

Follow CS 375 Discussions on Piazza

Programming assignments may be written in C / lex / yacc or Lisp (if you are good at Lisp). All programming assignments must be your own individual work. Program files are provided, in the directory /projects/cs375/ or in the FTP directory for Program Files, ftp://ftp.cs.utexas.edu/pub/novak/cs375/ for use with the assignments. The files are described by Program File Descriptions. It is legal to use any of these files as part of your programs.

How to Turn in the Programming Assignments

Testing and Debugging

Assignments:

X86 References:

ISO 7185 Pascal Standard (pdf)

Song: "God Wrote in Lisp", Lyrics by Bob Kanefsky, sung by Julia Ecklar.

Program Grading

Midterm Study Guide and Example Midterm Questions

Final Exam Study Guide and Example Final Exam Questions

Gordon S. Novak Jr.