M4: Syntactical Analysis (cont.) & Static Semantic Analysis

This fourth module continues our explanation into syntactical analysis by looking over common parsing algorithms. We will begin an introduction into the next phase of the compiler, static semantic analysis.

Pre-recorded Lectures and/or Required Readings

Please read over the below articles before our synchronous session:

  1. LL(1) Parsing by Andrew Begeel

  2. How to implement an LR(1) Parser by Kirill Andreev

  3. Abstract Syntax Trees by Ruslan Spivak

The pre-recorded lectures are available here: M4 Videos. You can also find the videos under the “Panopto” tab on the MPCS 51300 canvas site.

  • No required recordings before our synchronous session.

The slides for this module will be accessible in the upstream repository before the synchronous session. If you do not have access to the upstream repository then please contact Professor Samuels on Ed in a private message.

Supplementary Resources

  • Engineering a Compiler readings:
    • Chapter 4.1 - 4.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 October 20th @ 4:00pm-5:20pm

  • Discussion Outline
    • Review homework #1 lexing

    • Introduction to Semantic Analysis.

    • Coding Demo: LL(1) Parsing and semantic analysis for the Cal Language.

Assignment

Assignments are always due on Wednesday evenings.