M2: Lexical Analysis

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

Pre-recorded Lectures and Required Readings

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

  • 2.1 - Anatomy of a Compiler (front end) (slides come from module 1)

  • 2.2 - Anatomy of a Compiler (back end) (slides come from module 1)

  • 2.3 - Converting a NFA to DFA (posted after synchronous session)

  • 2.4 - Writing a Simple Scanner in Go (posted after synchronous session)

Supplementary Resources

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

  • Discussion Outline
    • Overview of Lexical Analysis

    • Introduction to Regular Expressions

    • Finite Automata: NFAs and DFAs

Assignment

Assignments are always due on Wednesday evenings.

  • Homework #2, due Wednesday October 13th at 11:59pm CDT