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 * `Understanding Pointers in Go `__ 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 <../../assignments/milestone2/index.html>`__, due January 24th at 11:59pm CDT