M7: Code Generation

In this seventh module, we will begin to look implementing the necessary code for performing code generation for our language. Specifically looking at generating canonical ILOC trees before actual code generation.

Pre-recorded Lectures

The pre-recorded lectures are available here: M6M7 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 Tree (Part 1) m6/resources

  • Code Shape: ILOC Tree (Part 2) m6/resources

  • Code Shape: Control Flow m6/resources

The slides/code presented in these videos are accessible in the upstream repository under the m6/resources m7/resources directory. Please reachout 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 9th @ 4:00pm-5:20pm

  • Discussion Outline
    • Review material from modules 1-4

    • Control-flow in ILOC

    • Canonical ILOC tree Representation

Assignment

Assignments are always due on Wednesday evenings.