CS 410P/510 Top: Programming Language Compilation
4/3
Andrew Tolmach
This is a course about basic techniques for generating machine code from a high-level language. We will build complete compilers from high-level abstract syntax down to X86 machine code for a series of languages, each adding new features, including integers, booleans and conditionals, assignment and loops, records and garbage collection, and functions. The course will be based on the book "Essentials of Compilation: An Incremental Approach in Python" by Jeremy Siek. This book is available for free on-line at https://www.dropbox.com/s/mfxtojk4yif3toj/python-book.pdf?dl=1
This is a programming-intensive course. Students should expect to spend a significant amount of time reading and writing code each week. Implementation will be in the Python language version 3.10+. Working in teams will be very strongly encouraged.
Further updates may be provided at https://web.cecs.pdx.edu/~apt/510comp_ad.
Upon the successful completion of this class, students will be able to:
There is no required textbook to purchase. The Siek text will be available on the web.