M3: Syntax Analysis

This third modules provides an overview of the syntax analysis component of a compiler. We discuss how one implements this component by hand or using an auto generated tool.

Pre-recorded Lectures

Note: Professor Samuels will state on Ed when the prerecorded videos are ready to be viewed each week for a module.

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

  • 3.1 Parsing Overview & Recursive Decent Parser

  • 3.2 Auto-generating a parser and lexer using ANTLR (Part 1)

  • 3.3 Auto-generating a parser and lexer using ANTLR (Part 2)

  • 3.4 Auto-generating a parser and lexer using ANTLR (Part 3)

The slides presented in these videos are accessible in the upstream repository and canvas.

Resources/Readings

  • The slides and code presented in this module are accessible in the upstream repository and canvas.

  • Engineering a Compiler* readings:
    • Chapter 3.1 - 3.5

Synchronous Sessions (In-person Lecture)

As a reminder here are the dates and times for the synchronous session for this module:

  • Dates/Times
    • Section 1: Wednesday January 22nd @ 10:30am-12:20pm

  • Discussion Outline
    • Overview of Parsers

    • Context-Free Grammars

    • Overview of Compiler Project

Assignment

Assignments are always due on Friday evenings.