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¶
- Engineering a Compiler readings:
Chapter 2.1 - 2.5
- Go by Example
Pointers section
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