|
Module 1: Lexical analysis and Syntax Analysis
|
|
|
|
Lecture 1a. Introduction to Compiler Design
12:00
|
|
|
|
Lecture 1b. Token Name, Token Attribute, and Lexeme
21:00
|
|
|
|
Lecture 1c. Recognition of Tokens and Maximal Munch
30:00
|
|
|
|
Lecture 1 Annotated Notes Lexical Analysis
(66 pages)
|
|
|
|
Practice Questions on Lexical Analysis
90:00
|
|
|
|
Annotated Notes Practice Questions on Lexical Analysis
(46 pages)
|
|
|
|
True False Question on Lexical Analysis
10:00
|
|
|
|
Lecture 2a. Introduction to Syntax Analysis and Ambiguous grammars
18:00
|
|
|
|
Lecture 2b. Elimination of Ambiguity Manually - Example 1 E-T-F Grammar
16:00
|
|
|
|
Lecture 2c. Elimination of Ambiguity Manually - Example 2 Dangling If-Else Grammar
26:00
|
|
|
|
GATE 1996 Question Homework
|
|
|
|
Lecture 2d. Elimination of Ambiguity Manually - Example 3 Balance Parentheses | And Ambiguity Summary
13:00
|
|
|
|
Lecture 2 Annotated Notes- Dealing with Ambiguity and Ambiguous Grammars
(38 pages)
|
|
|
|
Lecture 3a. Left Recursion and Left Factoring
48:00
|
|
|
|
Lecture 3b. One more example on Left Factoring
2:00
|
|
|
|
Annotated Notes Lecture 3 - Left Recursion and Left Factoring
(33 pages)
|
|
|
|
Lecture 4a. Introduction to Parsing | Type of Parsers
10:00
|
|
|
|
Lecture 4b. Types of Top Down Parsers
14:00
|
|
|
|
Lecture 4c. Recursive Descent Parser
27:00
|
|
|
|
Annotated Notes Lecture 4- Parsing Introduction and Recursive Descent Parser
(19 pages)
|
|
|
|
Lecture 5. Questions on Recursive Descent Parsers
76:00
|
|
|
|
Lecture 5 - On Youtube
|
|
|
|
Annotated Notes Practice Questions on Recursive Descent
(64 pages)
|
|
|
|
Lecture 6a. Computing First
44:00
|
|
|
|
Lecture 6a annotated Notes
(18 pages)
|
|
|
|
Lecture 6b. Computing Follow
47:00
|
|
|
|
Lecture 6b Annotated notes
(22 pages)
|
|
|
|
Lecture 7a. Predictive Parsers
61:00
|
|
|
|
Lecture 7a Annotated Notes
(28 pages)
|
|
|
|
Lecture 7b. Implementing LL(1)
24:00
|
|
|
|
Lecture 7b Annotated Notes
(9 pages)
|
|
|
|
Lecture 7C Forty Five Questions on First, Follow, LL(1), Ambiguity, etc
113:00
|
|
|
|
Lecture 7C Annotated Notes Practice Questions on LL(1)
(132 pages)
|
|
|
Module 2: Bottom-Up Parsing
|
|
|
|
Lecture 8a: Handles in Bottom-Up Parsing | GATE 2005 PYQ
|
|
|
|
Annotated Notes Lecture 8A Handles Defination
(28 pages)
|
|
|
|
Lecture 8b: Questions on Handle and Working of Bottom-up parsers
132:00
|
|
|
|
Annotated Notes Lecture 8b: Questions on Handle and Working of Bottom-up parsers
(89 pages)
|
|
|
|
Lecture 8b- On Youtube
|
|
|
|
Lecture 9a. LR(0) and SLR(1) Parsing Table Examples
51:00
|
|
|
|
Lecture 9b. More examples on LR(0) and SLR(1) Grammars
20:00
|
|
|
|
Annotated Notes For lecture 9
(34 pages)
|
|
|
|
Lecture 10. Really Understanding LR(0) Automata | Re-Run of DFA | Viable Prefixes | Bottom up Parsing Algorithm
118:00
|
|
|
|
Annotated Notes Really Understanding LR(0) Automata and Viable Prefixes
(82 pages)
|
|
|
|
Lecture 11a. More Questions on LR(0) and SLR(1)
32:00
|
|
|
|
Lecture 11b. Condition of Grammar being SLR(1)
3:00
|
|
|
|
Lecture 11c. Relation between LL(1) LR(0) and SLR(1)
24:00
|
|
|
|
Lecture 11d. One more Example of LR(0) SLR(1)
6:00
|
|
|
|
Annotated Notes Lecture 11. LR(0) and SLR(1)
(17 pages)
|
|
|
|
12a. Limitations of SLR(1) Parser
21:00
|
|
|
|
12b. Idea behind LR(1) Parsers
7:00
|
|
|
|
12c. Example on LR(1) Parsing
23:00
|
|
|
|
12d. -Example on LR(1) and LALR(1)
15:00
|
|
|
|
Annotated Notes Lecture 12 LR(1) and LALR(1)
(21 pages)
|
|
|
|
Lecture 13 a-Example on LR(1) and LALR(1)
19:00
|
|
|
|
Lecture 13 b-One More Example on LR(1) and LALR(1)
21:00
|
|
|
|
Lecture 13 c- Tiny LR(2) grammar
7:00
|
|
|
|
Annotated Notes Lecture 13 More About LR(1) and LALR(1)
(11 pages)
|
|
|
|
Lecture 14a Questions on LALR(1) and CLR(1)
|
|
|
|
Lecture 14b Questions on LALR(1) and CLR(1)
|
|
|
|
Annotated Notes Lecture 14 Questions on LR(1) and LALR(1)
(78 pages)
|
|
|
Module 3: Syntax Directed Definitions and Translation
|
|
|
|
Lecture 15: Syntax Directed Definition and Translation
52:00
|
|
|
|
Lecture 16 PYQs on Syntax Directed Definition and Translation
59:00
|
|
|
|
Lecture 17 Inherited and Synthesize attributes with Top down and Bottom-up parsers
29:00
|
|
|
|
SDT Annotated Notes
(78 pages)
|
|
|
Module 4: Intermediate Code & Code Optimization
|
|
|
|
Lecture 1 - Computer Languages - Machine Language Vs Assembly Language
|
|
|
|
Annotated Notes - Lecture 1 - Machine Vs Assembly Language
(82 pages)
|
|
|
|
Lecture 2 - Broad Overview of Phases of Compiler
|
|
|
|
Annotated Notes - Lecture 2 - Broad Overview of Compiler Phases
(138 pages)
|
|
|
|
Lecture 3A - Intermediate Representations
|
|
|
|
Annotated Notes - Lecture 3A - Intermediate Representations
(84 pages)
|
|
|
|
Lecture 3B - Three Address Code
|
|
|
|
Notes for Lecture 3B - Three Address Code
|
|
|
|
Slides - Lecture 3B - Three Address Code
(47 pages)
|
|
|
|
Lecture 3C - Static Single Assignment Form SSA
|
|
|
|
Annotated Notes - Lecture 3C - Static Single Assignment Form SSA
(134 pages)
|
|
|
|
Lecture 3D - Control Flow Graph CFG
|
|
|
|
Annotated Notes - Lecture 3D - Control Flow Graph CFG
(116 pages)
|
|
|
|
Lecture 4 - Code Optimization - Introduction
27:00
|
|
|
|
Annotated Notes - Lecture 4 - Code Optimization - Introduction
(42 pages)
|
|
|
|
Lecture 5A - Dead Code Elimination & Liveness Analysis - Part 1
13:00
|
|
|
|
Lecture 5B - Liveness Analysis & Dead Code Elimination
151:00
|
|
|
|
Annotated Notes - Lecture 5A,5B - Liveness Analysis & Dead Code Elimination
(179 pages)
|
|
|
|
Lecture 5C - Practice Questions - Liveness Analysis
137:00
|
|
|
|
Lecture 6 - Available Expression Analysis, Common Subexpression Elimination, Copy Propagation
141:00
|
|
|
Students' Hand Written Notes
|
|
|
|
Notes by Quantum City (AIR 107, GATE CS 2024, Shreyas Rathod) - Compiler Design Notes
(37 pages)
|
|