M5: Static Semantic Analysis (cont.) and Intermediate Representations

This fourth module continues our explanation into Semantic analysis by looking over requirements for semantic analysis. We will begin an introduction into the various intermediate representations of a compiler.

Pre-recorded Lectures and/or Required Readings

The pre-recorded lectures are available here: M4/M5 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:

  • AST Construction for Simple Expressions (Slides:m4/slides/m4.pdf)

  • Introduction Semantic Analysis (Slides:m4/slides/m4.pdf)

  • Introduction to Symbol Tables (Slides:m4/slides/m4.pdf)

  • Types and Type Systems (Slides:m4/slides/m4.pdf)

The slides/code presented in these videos are accessible in the upstream repository under the m4/resources and m5/resources directories. Please reach out to me if you do not have access to this repository.

Supplementary Resources

  • Engineering a Compiler readings:
    • Chapter 4.1 - 4.4

    • Chapter 5.1 - 5.5

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 October 27th @ 4:00pm-5:20pm

  • Discussion Outline
    • Q/A on pre-recorded Lectures

    • Coding demo: Cal semantic analysis

    • Introduction to intermediate representations

Assignment

Assignments are always due on Wednesday evenings (except for Milestone #1).