Topic outline

  • Welcome to Compiler Design Lab

  • Course Summary and Objectives

  • Quick Access

  • Lab Submissions - O14

    Restricted Not available unless: You belong to Section O-14
  • Class Recordings of O-14

    Restricted Not available unless: You belong to Section O-14
  • Lab Submissions - O3

    Restricted Not available unless: You belong to Section O-3
  • Class Recordings of O-3

    Restricted Not available unless: You belong to Section O-3
  • Lab Final (O3)

    Restricted Not available unless: You belong to Section O-3
  • Lab Final (O14)

    Restricted Not available unless: You belong to Section O-14
  • Week 1: Preparing Background and Learn about Language Processing System

    Week1

    Discussion Topics: 

    • Overview of language processing
    • Discuss about pre-processors – compiler – assembler – interpreters.
    • Discuss about linkers & loaders
    • Distinguish in between Interpreter vs. Compiler.

    Expected Learning Outcomes:

    • Differentiate compiler with interpreter.
    • Recognize the language processing system
    • Conceptually understand the application of compiler.

    Resources of Learning:


    Lecture Slide: https://1drv.ms/p/s!AlQ1kOwk6kNGgRc_g3ITuSQbwRY7?e=9e7ibq

  • Week - 2: Phase of a Compiler

    Week2

    Discussion Topics: 

    • Learn about the structure of a compiler.
    • Learn about the phases of a compiler.

    Expected Learning Outcomes:

    • Design the basic structure.
    • Recognize various phases of compiler

    Resources of Learning:



  • Recognize Strings

    Week3

    Discussion Topics: 

    • Learn about Lexical Analysis –Role of Lexical Analysis
    • Discuss about Lexical Analysis Vs. Parsing
    • Discuss about Token, patterns and Lexemes
    • Discuss about Quiz Test.

    Expected Learning Outcomes:

    • Distinguish Token, patterns and Lexemes
    • Recognize Lexical errors.  

    Resources of Learning:


  • Recognize Token

    Week4

    Discussion Topics: 

    • Discuss about Regular definitions for the language constructs
    • Discuss about Transition diagram for recognition of tokens.

    Expected Learning Outcomes:

    • Capable to Design Transition Diagram.
    • Create Regular expression from sentence.

    Resources of Learning:


  • Valid Identifier

    Week5

    Discussion Topics: 

    • Discuss about Automata Theory.
    • Discuss and Illustrate NFA and DFA.

    Expected Learning Outcomes:

    • Understand Tuples.
    • Design and Construct NFA and DFA

    Resources of Learning:


  • Symbol Table

    Week6

    Discussion Topics: 

    • Discuss about subset construction method.
    • Discuss and Illustrate the techniques to construct DFA
    • Discuss about Class Test.

    Expected Learning Outcomes:

    • Design DFA from NFA.
    • Distinguish NFA and DFA.
    • Recognize the benefit to construct DFA.

    Resources of Learning:


  • Week - 9: Determination of FIRST and FOLLOW Function

    Week9

    Discussion Topics: 

    • Discuss and illustrate the rules for FIRST and FOLLOW Function.
    • Discuss the techniques to find FIRST and FOLLOW function.

    Expected Learning Outcomes:

    • Recognize specific tokens
    • Identify FIRST and FOLLOW
    • Construct LL1 Table

    Resources of Learning:


  • Shift Reduce Parser

    Week10

    Discussion Topics: 

    • Discuss and illustrate Kernel item, Non Kernel Item.
    • Discuss about Augmented grammar.
    • Discuss about Canonical Table.

    Expected Learning Outcomes:

    • Recognize kernel and non-kernel item.
    • Construct LR 0 Parser.
    • Design and construct canonical table.
    Resources of Learning:


  • Intermediate Code Generation

    Week12

    Discussion Topics: 

    • Discuss about the rules for leader selection.
    • Discuss and illustrate the techniques to create basic block.
    • Discuss the techniques to design flow graph.

    Expected Learning Outcomes:

    • Recognize three address codes.
    • Design basic blocks for high level languages.
    • Understand the necessity of flow graph.

    Resources of Learning:

    • Lecture Slide (Basic Block)
    • Lecture Video
    • Test Question