Topic outline

  • Introduction

    uni-logo

    Daffodil International University

    Department of Computer Science and Engineering

    diu-cse

    Welcome to Compiler Design!

          



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



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



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


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


    • Lab Task1 Assignment
      Opened: Wednesday, 7 September 2022, 12:00 AM
      Due: Wednesday, 7 September 2022, 11:59 PM
      Restricted Not available unless: You belong to CD_E
    • Quiz 1
      Opened: Sunday, 11 September 2022, 7:00 PM
      Closed: Sunday, 11 September 2022, 8:00 PM
      Restricted Not available unless: You belong to CD T2-a
  • 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:


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


      • Opened: Monday, 12 September 2022, 12:00 AM
        Due: Wednesday, 23 November 2022, 11:59 PM
      • Opened: Monday, 12 September 2022, 12:00 AM
        Due: Sunday, 25 September 2022, 11:59 PM
      • Lab Task 2 Assignment
        Opened: Wednesday, 21 September 2022, 2:30 PM
        Due: Wednesday, 21 September 2022, 3:10 PM
        Restricted Not available unless: You belong to CD_E
    • 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

      • 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 
        • Lecture Video
        • Test Question

        • Lab Task 4 Assignment
          Opened: Wednesday, 2 November 2022, 12:00 AM
          Due: Wednesday, 2 November 2022, 11:59 PM
          Restricted Not available unless: You belong to CD_E
      • Week - 9: Determination of FIRST and FOLLOW Function

        Week9

        Discussion Topics: 

        Expected Learning Outcomes:

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

        Resources of Learning:

        • Lecture Slide 
        • Lecture Video
        • Test Question

      • 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 
        • Lecture Video
        • Test Question

        • Lab Task 4 Assignment
          Opened: Wednesday, 16 November 2022, 12:00 AM
          Due: Wednesday, 16 November 2022, 11:59 PM
          Restricted Not available unless: You belong to CD_E
      • 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:

        • Lecture Slide 
        • Lecture Video
        • Test Question

        • Quiz3
          Opened: Saturday, 26 November 2022, 8:35 PM
          Closed: Saturday, 26 November 2022, 10:10 PM
          Restricted Not available unless any of:
          • You belong to CD_E
          • You belong to CD T1_a
      • 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:

        • Lecture Slide 
        • Lecture Video
        • Test Question

        • Last Lab performance Assignment
          Opened: Wednesday, 23 November 2022, 2:56 PM
          Due: Wednesday, 23 November 2022, 4:00 PM
          Restricted Not available unless: You belong to CD_E
        • Report of Lab performance Assignment
          Opened: Thursday, 8 December 2022, 12:00 AM
          Due: Friday, 9 December 2022, 11:59 PM
          Restricted Not available unless: You belong to CD_E
      • Week - 13: Code Optimization

        Week13

        Discussion Topics: 

        Expected Learning Outcomes:

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

        Resources of Learning:

        • Lecture Slide 
        • Lecture Video
        • Test Question

      • 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

        • Project Submission Assignment
          Opened: Tuesday, 29 November 2022, 12:00 AM
          Due: Wednesday, 30 November 2022, 9:00 PM
          Restricted Not available unless: You belong to CD_E
        • Report Submission Assignment
          Opened: Tuesday, 29 November 2022, 12:00 AM
          Due: Wednesday, 30 November 2022, 9:00 PM
          Restricted Not available unless: You belong to CD_E
      • Topic 16

        • Topic 17

          • Topic 18