Topic outline

  • Welcome to Compiler Design Course

  • 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 an interpreter.
    • Recognize the language processing system
    • Conceptually understand the application of the compiler.

    Resources of Learning:


  • Week 1 - Completion Task


    • Week 1 - H5P MCQ Interactive Content
      Restricted Not available unless: You belong to any group
    • Week 1 - Assessment (MARK-04) Quiz
      Closed: Friday, 19 August 2022, 11:59 PM
      Restricted Not available unless: You belong to any group
  • 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:


    Extra Documents:


  • Week 2 - Completion Task


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


    Extra Document:




    • Lab Report - 3 Assignment
      Opened: Friday, 12 August 2022, 12:00 AM
      Due: Monday, 5 September 2022, 12:00 AM
      Restricted Not available unless: You belong to any group
  • Week 3 Completion Task - [Date: Time: ]


    • Week 3 Completion Task - Date: Time: Assignment
      Opened: Monday, 15 August 2022, 12:00 AM
      Due: Monday, 5 September 2022, 11:59 PM
      Restricted Not available unless: You belong to any group
  • 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:


    Extra Documents:



    • Lab Report - 4 (Date: Time: ) Assignment
      Opened: Friday, 19 August 2022, 12:00 AM
      Due: Sunday, 18 September 2022, 11:59 PM
      Restricted Not available unless: You belong to any group
  • Week 4 - Completion Task


    • Week 4 Completion Task - RE Interactive Content
      Restricted Not available unless: You belong to any group
    • Week 4 - Completion Task [Language vs RE] Assignment
      Opened: Monday, 12 September 2022, 12:00 AM
      Due: Sunday, 18 September 2022, 12:00 AM
      Restricted Not available unless: You belong to any group
  • Quiz 1

    QUIZ 1 Syllabus-Till Date

    • Quiz 1 [Till Date] Assignment
      Opened: Thursday, 8 September 2022, 8:00 PM
      Due: Thursday, 8 September 2022, 8:50 PM
      Restricted Not available unless: You belong to any group
  • 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:

    • Lecture Slide ( NFA and DFA )
    • Lecture Video
    • Test Question


    • Lab Report - 5 (Date: Time: ) Assignment
      Opened: Friday, 26 August 2022, 12:00 AM
      Due: Monday, 26 September 2022, 11:59 PM
      Restricted Not available unless: You belong to any group
  • Week 5 - Completion Task


    • Week 5 Completion Task - Assignment
      Opened: Thursday, 1 September 2022, 12:00 AM
      Due: Friday, 30 September 2022, 11:59 PM
      Restricted Not available unless: You belong to any group
  • 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:


    Extra Documents:



    • Lab Report - 6 Assignment
      Opened: Monday, 26 September 2022, 12:00 AM
      Due: Friday, 30 September 2022, 11:59 PM
      Restricted Not available unless: You belong to any group
  • Week 6 - Completion Task


    • Week 6 Completion Task - Date/Time: Assignment
      Opened: Monday, 26 September 2022, 12:00 AM
      Due: Saturday, 1 October 2022, 11:59 PM
      Restricted Not available unless: You belong to any group
  • Preparation for Midterm Examination

    Week7

    Midterm Examination Syllabus

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

      • Lecture Slide (Elimination of LR & LF )
      • Lecture Video

      • Lab Report - 8 [] Assignment
        Opened: Tuesday, 1 November 2022, 12:00 AM
        Due: Wednesday, 2 November 2022, 10:15 AM
        Restricted Not available unless: You belong to any group
    • 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:

      Lecture Slide: LL1 Parse Table



    • Week 9 Completion Task


      • Week 9 Completion Task 10.11.2022 Assignment
        Opened: Wednesday, 2 November 2022, 12:00 AM
        Due: Thursday, 10 November 2022, 11:59 PM
        Restricted Not available unless: You belong to any group
      • Lab Performance - Physical Test Assignment
        Opened: Tuesday, 15 November 2022, 2:30 PM
        Due: Monday, 21 November 2022, 10:30 AM
        Restricted Not available unless: You belong to any group
    • QUIZ 2

      • Quiz 2 - First Follow LL(1) (PC-H) Assignment
        Opened: Thursday, 10 November 2022, 11:00 AM
        Due: Thursday, 10 November 2022, 11:40 AM
        Restricted Not available unless: You belong to any group
      • Quiz 2 - First Follow LL(1) (PC-F) Assignment
        Opened: Monday, 14 November 2022, 9:15 AM
        Due: Thursday, 17 November 2022, 10:59 AM
        Restricted Not available unless: You belong to CSE331+332 PC-F
    • 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:

      Lecture Slide: LR(0)

      • Lab Report - 10 (RE) Assignment
        Opened: Wednesday, 23 November 2022, 12:00 AM
        Due: Wednesday, 30 November 2022, 12:00 AM
        Restricted Not available unless: You belong to any group
    • Week 10 Completion Task


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


    • Week 11 Completion Task


    • 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 the flow graph.

      Resources of Learning:


      • Week 12 Completion Task


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


        • Week 13 Completion Task


          • Presentation Submission (Deadline: Dec 5)

          • Lab Final CSE332 - Total Time: 01Hrs - Marks: 20

            • Lab Final (PC-H) Assignment
              Opened: Wednesday, 30 November 2022, 9:10 AM
              Due: Wednesday, 30 November 2022, 10:00 AM
              Restricted Not available unless: You belong to any group
            • Lab Final (PC-F) Assignment
              Opened: Monday, 5 December 2022, 9:10 AM
              Due: Monday, 5 December 2022, 10:10 AM
              Restricted Not available unless: You belong to any group
            • Lab Final (PC-E) Assignment
              Opened: Tuesday, 6 December 2022, 3:00 PM
              Due: Tuesday, 6 December 2022, 4:01 PM
              Restricted Not available unless: You belong to any group
          • Quiz 3 - Marks 15

            • Lab Report Submission Deadline: 10 Dec. 2022


            • Week - 14: Preparation for Final Examination

              Week14

              Topics Covered for Final Examination

              • 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

              • Course Completion Survey