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

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

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 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:

  • 2.0 - Automating NFA Construction

  • 2.1 - Converting a NFA to DFA

  • 2.2 - Coding a Scanner

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

Resources/Readings

Synchronous Sessions (In-person Lecture)

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

  • Dates/Times
    • Wednesday January 15th 10:20am-12:20pm

  • Session Outline
    • Overview of Lexical Analysis

    • Introduction to Regular Expressions

    • Finite Automata: NFAs and DFAs

Assignment

Assignments are always due on Friday evenings.