Lecture 48 of 48week-13
Lec 48 - Code optimizer-part 6, DFA for reaching definitions,Live variables
IIT Madras
Credits and licence
- From
- Compiler Design, IIT Madras (at NPTEL)
- Licence
- CC BY-NC-SA, as NPTEL states it. Non-commercial use only.
- Attribution
- NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
- Who can watch
- Tweens profiles and older. How courses are placed
All the lectures
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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