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 for this course, Golang. Pre-recorded Lectures --------------------- **Note: Professor Samuels will state on Ed when the precorded videos are ready to be viewed each week for a module.** 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. The lectures are a series of approx 15-20 minute videos. **Please come back here weekly as the videos will be updated if a module spans multiple weeks.** This module includes the following videos: - Anatomy of a Compiler (Back End) Skip to the section: **Why study compilers** - Golang Code Structure & Tips The slides presented in lecture and these videos are accessible on our Canvas Page. Click on the Files link and you then can download the m1.zip file. Resources/Readings ------------------- For this module, your focus should be to learn the basic syntax of the Go language since compiler will be built based off subset of the Go language. * The slides and code presented in this module are accessible on our Canvas Page. Click on the Files link and you then can download the m1.zip file. * `Go By Example `__ - See M1 slides to know the links to click on. * **Engineering a Compiler** readings: - Chapter 1 * 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 Sessions (In-person Lecture) ----------------------------------------- As a reminder here are the dates and times for the synchronous session for this module: - Dates/Times - **Wednesday January 8th @ 10:30am-12:20pm** - Session Outline - Course logistics - Anatomy of a Compiler - Golang Overview [if time permits] Assignment ---------------------- * `Milestone #1 <../../assignments/milestone1/index.html>`__, due January 17th at 11:59pm CDT