Topic outline

  • Welcome to Compiler Design Course


    Intro

  • Course Introduction

    Course Introduction

     Course Introduction (Click Here)

     Google Meet Discussion Link (Click Here)

    • 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 Video (Language Processing System)
       

      • Lab Exercise 1 Submission for PC-A Section Assignment
        Opened: Saturday, 6 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-A Section
      • Lab Exercise 1 Submission for PC-B Section Assignment
        Opened: Saturday, 6 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-B Section
      • Lab Exercise 1 Submission for PC-C Section Assignment
        Opened: Saturday, 6 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-C Section
      • Lab Exercise 1 Submission for T1_PC-A Section Assignment
        Opened: Saturday, 6 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to T1_PC-A Section
    • 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:

      • Lesson 1 Lecture Video (From YouTube Channel)


      • Lesson 2 Lecture Video (From YouTube Channel) 

      • Test Question


      • Lab Exercise 2 Submission for PC-A Section Assignment
        Opened: Saturday, 13 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-A Section
      • Lab Exercise 2 Submission for PC-B Section Assignment
        Opened: Saturday, 13 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-B Section
      • Lab Exercise 2 Submission for PC-C Section Assignment
        Opened: Saturday, 13 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-C Section
      • Lab Exercise 2 Submission for T1_PC-A Section Assignment
        Opened: Saturday, 13 August 2022, 12:00 AM
        Due: Thursday, 18 August 2022, 12:00 AM
        Restricted Not available unless: You belong to T1_PC-A Section
    • Week - 3: Context Free Grammar: LMD, RMD

      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:

      • Lesson 1 Lecture Video (From YouTube Channel)

      • Lesson 2 Lecture Video (From YouTube Channel)

      • Test Question


      • Class Test for PC-A Section Quiz
        Opened: Monday, 19 September 2022, 12:50 PM
        Closed: Monday, 19 September 2022, 1:10 PM
        Restricted Not available unless: You belong to PC-A Section
      • Class Test for PC-C Section Quiz
        Opened: Monday, 26 September 2022, 9:05 AM
        Closed: Monday, 26 September 2022, 10:10 AM
        Restricted Not available unless: You belong to PC-C Section
      • Lab Exercise 3 Submission for PC-A Section Assignment
        Opened: Saturday, 20 August 2022, 12:00 AM
        Due: Friday, 26 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-A Section
      • Lab Exercise 3 Submission for PC-B Section Assignment
        Opened: Saturday, 20 August 2022, 12:00 AM
        Due: Friday, 26 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-B Section
      • Lab Exercise 3 Submission for PC-C Section Assignment
        Opened: Saturday, 20 August 2022, 12:00 AM
        Due: Friday, 26 August 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-C Section
      • Lab Exercise 3 Submission for T1_PC-A Section Assignment
        Opened: Saturday, 20 August 2022, 12:00 AM
        Due: Friday, 26 August 2022, 12:00 AM
        Restricted Not available unless: You belong to T1_PC-A Section
    • Week - 4: Regular Expression

      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:

      • Lesson 1 Lecture Video (From YouTube Channel)

      • Lesson 2 Lecture Video (From YouTube Channel)


      • Lab Exercise 4 Submission for PC-A Section Assignment
        Opened: Saturday, 17 September 2022, 12:00 AM
        Due: Thursday, 22 September 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-A Section
      • Lab Exercise 4 Submission for PC-B Section Assignment
        Opened: Saturday, 17 September 2022, 12:00 AM
        Due: Thursday, 22 September 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-B Section
      • Lab Exercise 4 Submission for PC-C Section Assignment
        Opened: Saturday, 17 September 2022, 12:00 AM
        Due: Thursday, 22 September 2022, 12:00 AM
        Restricted Not available unless: You belong to PC-C Section
      • Lab Exercise 4 Submission for T1_PC-A Section Assignment
        Opened: Saturday, 17 September 2022, 12:00 AM
        Due: Thursday, 22 September 2022, 12:00 AM
        Restricted Not available unless: You belong to T1_PC-A Section
    • Week - 5: NFA and DFA

      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:

      • Lesson 1 Lecture Video (From YouTube Channel)

      • Lesson 2 Lecture Video (From YouTube Channel)


      • Lab Exercise 5 Submission for PC-B Section Assignment
        Opened: Sunday, 20 November 2022, 10:45 AM
        Due: Tuesday, 22 November 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-B Section
      • Lab Exercise 5 Submission for PC-C Section Assignment
        Opened: Monday, 21 November 2022, 10:00 AM
        Due: Tuesday, 22 November 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-C Section
    • Week - 6: NFA to DFA Conversion

      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:

      • Lesson 1 Lecture Video (From YouTube Channel)

      • Lesson 2 Lecture Video (From YouTube Channel)

      • Lab Performance Document Submission for PC-A Section Assignment
        Opened: Thursday, 22 September 2022, 8:45 AM
        Due: Thursday, 22 September 2022, 9:55 AM
        Restricted Not available unless: You belong to PC-A Section
    • Preparation for Midterm Examination

      Week7

      Topics Covered for Midterm Examination

      • Language Processing System
      • Phase of a Compiler
      • Context Free Grammar
      • Regular Expression
      • NFA and DFA
      • NFA to DFA Conversion

      Open Book Exam Guidelines for Students (Click to Download) 

      Answer Script for Midterm Exam (Click to Download)

      Image to PDF Generator Mobile Apps: [Use any one of these apps]

      1. Cam Scanner [Click to download in your Smartphone]
      2. Fast Scanner [Click to download in your Smartphone]
      3. Tap Scanner [Click to download in your Smartphone]

      Answer Script Submission Guidelines: 

    • Week - 8: Left Recursion and Left Factoring Elimination

      Week8

      Discussion Topics: 

      • Discuss about LMD and RMD
      • Discuss and Illustrate the elimination techniques

      Expected Learning Outcomes:

      • Recognize the elimination techniques
      • Understand the importance of Left Elimination

      Resources of Learning:

      • Lesson 1 Lecture Video (From My YouTube Channel)

      • Lesson 2 Lecture Slide (From My YouTube Channel)

    • 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:

      • Lesson 1 Lecture Video (From My YouTube Channel)

      • Lesson 2 Lecture Video (From My YouTube Channel)

    • Week - 10: LR0 Parser and Canonical Table

      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:

      • Lesson 1 Lecture Video (From My YouTube Channel)

      • Lesson 2 Lecture Video (From My YouTube Channel)

    • Week - 11: Intermediate Code Generation

      Week11

      Discussion Topics: 

      • Discuss abstract syntax trees and Directed acyclic graph
      • Discuss and illustrate three address code, quadruples, and triples.
      • Discuss about Class Text.

      Expected Learning Outcomes:

      • Recognize techniques to eliminate common sub tree.
      • Design triples.

      Resources of Learning

      • Lesson 1 Lecture Video (From My YouTube Channel)


    • Week - 12: Code Generation and Basic Block

      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

      • Lesson 1 Lecture Video (From My YouTube Channel)

      • Lesson 2 Lecture Video (From My YouTube Channel)

      • Assignment Submission for PC-A Section
        Opened: Saturday, 10 December 2022, 6:00 PM
        Due: Tuesday, 13 December 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-A Section
      • Assignment Submission for PC-B Section
        Opened: Saturday, 10 December 2022, 6:00 PM
        Due: Tuesday, 13 December 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-B Section
      • Assignment Submission for PC-C Section
        Opened: Saturday, 10 December 2022, 6:00 PM
        Due: Tuesday, 13 December 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-C Section
    • Week - 13: Code Optimization

      Week13

      Discussion Topics: 

      • Discuss about Machine independent code optimization.
      • Discuss and illustrate the techniques of code optimization.

      Expected Learning Outcomes:

      • Recognize machine independent code.
      • Able to apply techniques to optimize codes.

      Resources of Learning:

      • Lesson 1 Lecture Video (From My YouTube Channel)

      • Lab Report Submission for PC-A Section Assignment
        Opened: Saturday, 10 December 2022, 12:00 AM
        Due: Tuesday, 13 December 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-A Section
      • Lab Report Submission for PC-B Section Assignment
        Opened: Saturday, 10 December 2022, 12:00 AM
        Due: Tuesday, 13 December 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-B Section
      • Lab Report Submission for PC-C Section Assignment
        Opened: Saturday, 10 December 2022, 7:00 PM
        Due: Tuesday, 13 December 2022, 11:59 PM
        Restricted Not available unless: You belong to PC-C Section
      • Lab Report Submission for T1_PC-A Section Assignment
        Opened: Saturday, 10 December 2022, 7:00 PM
        Due: Tuesday, 13 December 2022, 11:59 PM
        Restricted Not available unless: You belong to T1_PC-A Section
    • Week - 14: Preparation for Final Examination

      Week14

      Topics Covered for Final Assessment

      • Left Recursion and Left Factoring Elimination
      • Determination of FIRST and FOLLOW Function
      • LR0 Parser and Canonical Table
      • Intermediate Code Generation
      • Code Generation and Basic Block
      • Code Optimization

      Open Book Exam Guidelines for Students (Click to Download) 

      Answer Script Template for Final Exam (Click to Download)

      Image to PDF Generator Mobile Apps: [Use any one of these apps]

      1. Cam Scanner [Click to download in your Smartphone]
      2. Fast Scanner [Click to download in your Smartphone]
      3. Tap Scanner [Click to download in your Smartphone]

      Final Exam Attendance Sheet (Click to submit)