Lectures
week-01
- Lec 01 - Introduction- part 1, Programming languages and compilers
- Lec 02 - Introduction- part 2, Language translators
- Lec 03 - Introduction- part 3, Phases of a compiler
- Lec 04 - Introduction- part 4, Static vs Dynamic contexts,Parameter passing
week-02
- Lec 05 - Lexing- part 1, Terminology, Regex, flex tool- part 1
- Lec 06 - Lexing- part 2, Lexical errors, Input buffering
- Lec 07 - flex tool- part 2
week-03
- Lec 08 - Lexing- part 3, Lookahead, KMP string matching
- Lec 09 - Lexing- part 4, Regex to DFA conversion- part 1
- Lec 10 - Lexing- part 5, Regex to DFA conversion- part 2, Prasing- part 1
week-04
- Lec 11 - Parsing- part 2, CFG, Parse tree, Precedence, Ambiguity
- Lec 12 - flex tool- part 3
- Lec 13 - Parsing- part 3, Sentinel forms, Error recovery, if-else ambiguity
week-05
- Lec 14 - Parsing- part 4, Left recursion, Recursive descent parsing
- Lec 15 - Parsing- part 5, First and Follow, Predicitive parsing table
- Lec 16 - Parsing- part 6, Predictive parsing table, LL(1) grammars
week-06
- Lec 17 - Discussions and doubts clarification - part 1
- Lec 18 - Parsing- part 6, Bottom-up, Shift-reduce parsing, SLR parsing
- Lec 19 - Parsing- part 6, LR(0) automaton, SLR parsing using automaton
week-07
- Lec 20 - Parsing- part 7, SLR(1) parsing table, SLR(1) parsing algorithm
- Lec 21 - Parsing- part 8, Viable prefixes, LR(1) parsing, LR(1) automaton
- Lec 22 - Parsing- part 9, LALR parsing, SDT- part 1, attributes
week-08
- Lec 23 - Syntax Directed Translation- part 2, S- and L-attributed SDD
- Lec 24 - Syntax Directed Translation-part 3, L-attributed SDD, Applications
- Lec 25 - Syntax Directed Translation- part 4, Actions within productions
- Lec 26 - Discussions and doubts clarification part 2
week-09
- Lec 27 - Quiz-1 discussion, SDT- part 5, Code generation for while loop
- Lec 28 - Intermdiate Code Generation- part 1, Syntax trees and DAGs
- Lec 29 - Intermdiate Code Generation- part 2, Three-address code
- Lec 30 - Discussions and doubts clarification part 3
- Lec 31 - Intermdiate Code Generation- part 3, Static single assignment
week-10
- Lec 32 - Intermdiate Code Generation- part 4, IR for type expressions
- Lec 33 - Intermdiate Code Generation- part 4, IR for array expressions
- Lec 34 - Intermdiate Code Generation- part 4, IR for boolean expressions
week-11
- Lec 35 - Intermdiate Code Generation-part 4, IR for break, continue, switch
- Lec 36 - Code Generator- part 1, Introduction, IR and target code
- Lec 37 - Code Generator- part 2, Instruction selection, ordering
- Lec 38 - Code Generator- part 2, Basic blocks and CFG
week-12
- Lec 39 - x86 assembly code
- Lec 40 - Code optimizer- part 1, Local optimizations within a basic block
- Lec 41 - Code optimizer- part 2, Array references, Peephole optimization
- Lec 42 - Discussions and doubts clarification part 4
week-13
- Lec 43 - Code optimizer- part 3, Register allocation, Liveness
- Lec 44 - Code optimizer- part 4, Register allocation as graph coloring
- Lec 45 - Discussions and doubts clarification part 5
- Lec 46 - Code optimizer- part 5, Data flow analysis, Reaching definitions
- Lec 47 - Discussions and doubts clarification part 6
- Lec 48 - Code optimizer-part 6, DFA for reaching definitions,Live variables
Syllabus and materials
At NPTEL, as the course publishes them.
Credits and licence
- Institution
- IIT Madras
- Department
- Computer Science and Engineering
- Level
- Undergraduate
- Language
- English
- Subjects
- Computer science, Engineering
- Source
- NPTEL
- Licence
- CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
- Attribution
- NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
- Who can watch
- NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed
More like this
NPTEL113106082
Course
Welding of Advanced High Strength Steels for Automotive Applications
20 lectures · Video
NPTEL101106082
Course
Rocket Propulsion
36 lectures · Source's player
NPTEL101106031
Course
Acoustic Instabilities in Aerospace Propulsion
41 lectures · Video
NPTEL101106033
Course
Aerospace Propulsion
42 lectures · Video
NPTEL101106037
Course
Combustion
51 lectures · Video
NPTEL101106042
Course
Flight Dynamics II (Stability)
41 lectures · Video
NPTEL101106044
Course
Gas Dynamics
54 lectures · Video
NPTEL101106045
Course
Introduction to CFD
39 lectures · Video
NPTEL105106204
Course
Colloids and Surfaces
48 lectures · Source's player
NPTEL105106205
Course
Polymers: Concepts, Properties, Uses and Sustainability
87 lectures · Source's player
NPTEL103106158
Course
Fluid And Particle Mechanics
73 lectures · Source's player
NPTEL103106220
Course
Artificial Lift
62 lectures · Source's player