M3: Syntax Analysis ======================================== This third modules provides an overview of the syntax 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 prerecorded videos are ready to be viewed each week for a module.** The pre-recorded lectures are available here: `M3 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: - 3.1 Parsing Overview & Recursive Decent Parser - 3.2 Auto-generating a parser and lexer using ANTLR (Part 1) - 3.3 Auto-generating a parser and lexer using ANTLR (Part 2) - 3.4 Auto-generating a parser and lexer using ANTLR (Part 3) The slides presented in these videos are accessible in the upstream repository and canvas. Resources/Readings ------------------- * The slides and code presented in this module are accessible in the upstream repository and canvas. * **Engineering a Compiler* readings**: * Chapter 3.1 - 3.5 Synchronous Sessions (In-person Lecture) ----------------------------------------- As a reminder here are the dates and times for the synchronous session for this module: - Dates/Times - Section 1: **Wednesday January 22nd @ 10:30am-12:20pm** - Discussion Outline - Overview of Parsers - Context-Free Grammars - Overview of Compiler Project Assignment ---------------------- Assignments are always **due** on Friday evenings. * `Milestone #3 <../../assignments/milestone3/index.html>`__, due February 7th at 11:59pm CDT