M6: Procedure Abstraction and Code Shape¶
This sixth module we begin our transition to talking about preparing for code generation (i.e., the backend of the compiler). This module will provide an overview of the memory layout for programs and provide an overview of the intermediate representation for the language.
Pre-recorded Lectures and/or Required Readings¶
The pre-recorded lectures are available here: M6/M7 Videos. You can also find the videos under the “Panopto” tab on the MPCS 51300 canvas site.
The lectures are a series of approx 20-30 minute videos divided into 4 sections:
Activation Records (cont.)
m6/resources
Code Shape: ILOC Overiew (Part 1)
m6/resources
Code Shape: ILOC Overiew (Part 2)
m6/resources
The slides/code presented in these videos are accessible in the upstream repository under the m5
and m6/resources
directories. Please reach out to me if you do not have access to this repository.
Supplementary Resources¶
- Engineering a Compiler readings:
Chapter 6.1 - 6.4
Synchronous Session (In-person or 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 November 3rd @ 4:00pm-5:20pm
- Discussion Outline
Procedure Abstraction: Activation Records
Code Shape: Storage Locations, Expressions, and Structure References
Assignment¶
Assignments are always due on Wednesday evenings.
Milestone #2, due Wednesday November 10th at 11:59pm CDT