Computer Science 371 - Compiler Design

Compiler Design

Fall
2024
01
4.00
Scott Kaplan

M/W/F | 10:00 AM - 10:50 AM

Amherst College
COSC-371-01-2425F
Science Center Room C101
sfkaplan@amherst.edu

An introduction to the principles of the design of compilers, which are translators that convert programs from a source language to a target language. Compilers typically take programs written in a general-purpose programming language, such as Java or C, and produce equivalent assembly language programs.   This course examines how source code is parsed, how an internal representation of that code is built, and then how the equivalent assembly code is generated.  We examine basic type systems and static analysis, where the compiler can catch errors in the code during translation.  We see how procedural, functional, and object oriented languages are modeled and translated.

Each student will design and implement a compiler for a small language. Offered in alternate years.

Requisite: COSC 171 and 211. Limited to 50 students. Fall semester. Professor Kaplan.

How to handle overenrollment: Priority to majors

Students who enroll in this course will likely encounter and be expected to engage in the following intellectual skills, modes of learning, and assessment: (none specified)

Permission is required for interchange registration during all registration periods.