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¶
The slides and code presented in this module are accessible in the upstream repository.
- Engineering a Compiler readings
Chapter 2.1 - 2.5
- Go By Example
Pointers Section
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.
Milestone #2, due January 24th at 11:59pm CDT