Learn · NPTEL

Course10610623748 lectures

Compiler Design

IIT Madras

Start with lecture 1 At NPTEL

Lectures

week-01

  1. Lec 01 - Introduction- part 1, Programming languages and compilers Video
  2. Lec 02 - Introduction- part 2, Language translators Video
  3. Lec 03 - Introduction- part 3, Phases of a compiler Video
  4. Lec 04 - Introduction- part 4, Static vs Dynamic contexts,Parameter passing Video

week-02

  1. Lec 05 - Lexing- part 1, Terminology, Regex, flex tool- part 1 Video
  2. Lec 06 - Lexing- part 2, Lexical errors, Input buffering Video
  3. Lec 07 - flex tool- part 2 Video

week-03

  1. Lec 08 - Lexing- part 3, Lookahead, KMP string matching Video
  2. Lec 09 - Lexing- part 4, Regex to DFA conversion- part 1 Video
  3. Lec 10 - Lexing- part 5, Regex to DFA conversion- part 2, Prasing- part 1 Video

week-04

  1. Lec 11 - Parsing- part 2, CFG, Parse tree, Precedence, Ambiguity Video
  2. Lec 12 - flex tool- part 3 Video
  3. Lec 13 - Parsing- part 3, Sentinel forms, Error recovery, if-else ambiguity Video

week-05

  1. Lec 14 - Parsing- part 4, Left recursion, Recursive descent parsing Video
  2. Lec 15 - Parsing- part 5, First and Follow, Predicitive parsing table Video
  3. Lec 16 - Parsing- part 6, Predictive parsing table, LL(1) grammars Video

week-06

  1. Lec 17 - Discussions and doubts clarification - part 1 Video
  2. Lec 18 - Parsing- part 6, Bottom-up, Shift-reduce parsing, SLR parsing Video
  3. Lec 19 - Parsing- part 6, LR(0) automaton, SLR parsing using automaton Video

week-07

  1. Lec 20 - Parsing- part 7, SLR(1) parsing table, SLR(1) parsing algorithm Video
  2. Lec 21 - Parsing- part 8, Viable prefixes, LR(1) parsing, LR(1) automaton Video
  3. Lec 22 - Parsing- part 9, LALR parsing, SDT- part 1, attributes Video

week-08

  1. Lec 23 - Syntax Directed Translation- part 2, S- and L-attributed SDD Video
  2. Lec 24 - Syntax Directed Translation-part 3, L-attributed SDD, Applications Video
  3. Lec 25 - Syntax Directed Translation- part 4, Actions within productions Video
  4. Lec 26 - Discussions and doubts clarification part 2 Video

week-09

  1. Lec 27 - Quiz-1 discussion, SDT- part 5, Code generation for while loop Video
  2. Lec 28 - Intermdiate Code Generation- part 1, Syntax trees and DAGs Video
  3. Lec 29 - Intermdiate Code Generation- part 2, Three-address code Video
  4. Lec 30 - Discussions and doubts clarification part 3 Video
  5. Lec 31 - Intermdiate Code Generation- part 3, Static single assignment Video

week-10

  1. Lec 32 - Intermdiate Code Generation- part 4, IR for type expressions Video
  2. Lec 33 - Intermdiate Code Generation- part 4, IR for array expressions Video
  3. Lec 34 - Intermdiate Code Generation- part 4, IR for boolean expressions Video

week-11

  1. Lec 35 - Intermdiate Code Generation-part 4, IR for break, continue, switch Video
  2. Lec 36 - Code Generator- part 1, Introduction, IR and target code Video
  3. Lec 37 - Code Generator- part 2, Instruction selection, ordering Video
  4. Lec 38 - Code Generator- part 2, Basic blocks and CFG Video

week-12

  1. Lec 39 - x86 assembly code Video
  2. Lec 40 - Code optimizer- part 1, Local optimizations within a basic block Video
  3. Lec 41 - Code optimizer- part 2, Array references, Peephole optimization Video
  4. Lec 42 - Discussions and doubts clarification part 4 Video

week-13

  1. Lec 43 - Code optimizer- part 3, Register allocation, Liveness Video
  2. Lec 44 - Code optimizer- part 4, Register allocation as graph coloring Video
  3. Lec 45 - Discussions and doubts clarification part 5 Video
  4. Lec 46 - Code optimizer- part 5, Data flow analysis, Reaching definitions Video
  5. Lec 47 - Discussions and doubts clarification part 6 Video
  6. Lec 48 - Code optimizer-part 6, DFA for reaching definitions,Live variables Video

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