CIS 5521

Compilers and Interpreters

University of Pennsylvania · UGRD · Fall 2026

1 section
Add to a schedule

Catalog description

You know how to program, but do you know how to implement a programming language? In this course you'll learn how to build a compiler. Topics covered include: lexical analysis, grammars and parsing, intermediate representations, syntax-directed translation, code generation, type checking, simple dataflow and control-flow analyses, and optimizations. Along the way, we study objects and inheritance, first-class functions (closures), data representation and runtime-support issues such as garbage collection. This is a challenging, implementation-oriented course in which students build a full compiler from a simple, typed object-oriented language to fully operational x86 assembly. The course projects are implemented using OCaml, but no knowledge of OCaml is assumed.

Sections

Current meeting, instructor, credit, and enrollment details

Updated 11 hours ago

001

Availability not recently verified
Class #pennsylvania_2-CIS5521Fall 2026UGRD1 credits
Days & times
No scheduled meeting time
Meeting dates
Location
Instructor
Staff
Class numbers and section codes come from the registrar.
Spot missing or incorrect course data?