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]
Assignment¶
Milestone #1, due Thursday June 22nd at 11:59pm CDT