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.

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

TA: Yun-Sik Choi , Office Hours: M 2:30 - 4:00 and W 4:00 - 5:30 in the GDC basement TA station, and by appointment.           yunsik@cs.utexas.edu

Syllabus

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

iClicker: Each student is required to buy/rent an iClicker (any version of iClicker device; not iClicker GO app). This will be used for attendance and to reinforce and practice with the class material. Two iClicker points are given just for voting, and an additional point is given for a correct answer. Most iClicker questions and answers are online at Clicker Questions, and it is okay to review them in advance. The clicker scores will be converted to a grade by making the highest student score at least 105 and linearly scaling other scores; this gives some extra points to account for minor illness, forgotten or malfunctioning clicker, etc. Adjustments to clicker scores will only be made for significant causes such as major illness. Bringing another student's clicker to class is considered to be cheating.

Register your iClicker Use your UT EID as the "Student ID". UT Zip Code is 78712.

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

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: We use the AT&T / Gnu / GAS Syntax

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 and Vocabulary Flash Cards

Gordon S. Novak Jr.