M1: Introduction to Compilers

This first module provides an introduction to the course and the anatomy of a compiler. During this module you will also get familiar with the language used throughout the course, Golang.

Pre-recorded Lectures and Required Readings

The pre-recorded lectures are available here: M1 Videos. You can also find the videos under the “Panopto” tab on the MPCS 51300 canvas site.

Module 1 has a single video that is approx 20-30 minute long:

  • Anatomy of a Compiler (Front End)

  • Anatomy of a Compiler (Back End)

  • Golang Code Structure & Tips

Supplementary Resources

For this module, your focus should be to learn the basic syntax of the Go language. Look at the Module 1 slides (last slide) to know what constructs to focus on.

  • The slides and code presented in this module are accessible on our Canvas Page right before class. Click on the Files link and you then can download the m1.pdf file.

  • Engineering a Compiler readings:
    • Chapter 1

  • Go by Example
    • See M1 slides to know the links to click on.

  • The Go Programming Language (textbook) provides a few chapters on the syntax of the language. This is not required but if you want a more in-depth description about language constructs then you should reference this book.

Synchronous Session (Remote)

You will find the links to the Zoom sessions on Canvas. As a reminder here are the dates and times for the synchronous session for this module:

  • Dates/Times
    • Section 1: Wednesday June 14th @ 5:30pm-7:00pm

  • Discussion Outline
    • Course Logistics

    • Anatomy of a Compiler

    • Golang Overview [if time permits]