CS 2210 Compiler Design

Instructor

Name:Wonsun Ahn
Office:6115 Sennott Square
Phone:(412) 624-8419
Email:wahn@pitt.edu
Office Hours: Mon 2:30 - 4:00 PM
Wed 1:30 - 3:00 PM

Syllabus

You can find a copy of the syllabus here.

Announcements

  • (02/12/18) — HW 2 released due 2/28
  • (02/07/18) — Project 2 released due 3/14
  • (01/22/18) — HW 1 released due 2/7
  • (01/17/18) — Project 1 released due 1/31
  • (01/06/18) — Welcome to CS 2210 Spring Term 2018

Text and Slides

Alfred V.Aho, Monica Lam, Ravi Sethi and Jeffery D.Ullman, Compilers: principles, techniques and tools, 2nd Edition, 2006, Addison-Wesley Publishing Company.

Topic Slides (PDF)
Introduction Slides
Lexical Analysis Slides
Syntax Analysis Slides 1
Slides 2
Semantic Analysis Slides
Code Generation Slides
Runtime Management Slides
Code Optimization Slides

Projects (Due dates to be updated when released)

Written Assignments

  • HW 1: Regular Expressions and Finite Automata | Due 2/7 before class
    JFLAP is a Java-based educational tool for helping you understand the front-end analyses of a compiler. Among its functionalities is the ability to convert between NFAs, DFAs, and REs. Feel free to get help from this tool if you hit a roadblock. You may also use the tool to quickly draw state graphs instead of drawing by hand.
  • HW 2: Grammars Parsers | Due 2/28 before class
    Just like for HW 1, JFLAP is going be your friend. JFLAP allows you to generate LL and LR parsering tables given a grammar and takes you through the steps to do it. Feel free to use it to generate your answers, but make sure you understand what it is doing.
    • JFLAP: Java-based tool for context free grammars.

Reference Manuals