Topic outline

  • General


    Welcome Message for my Students


    Course Rationale:
    The course is intended to teach the students the basic techniques that underlie the practice of Compiler Construction. The course will introduce the theory and tools that can be standard employed in order to perform syntax-directed translation of a high-level programming language into an executable code.These techniques can also be employed in wider areas of application, whenever we need a syntax-directed analysis of symbolic expressions and languages and their translation into a lower-level description. They have multiple applications for man-machine interaction, including verification and program analysis.

    Course Objective:
    The main objective of this course is to introduce the major concept areas of language translation and compiler design and to develop an awareness of the function and complexity of modern compilers. This course is a study of the theory and practice required for the design and implementation of interpreters and compilers for programming languages.

    Course Outcomes:
    CO1: Explain various phases of a compiler.
    CO2: Design token recognizer using modern tools.
    CO3: Design Top-down and Bottom-up parsing Techniques.
    CO4: Translate given input to intermediate code.
    CO5: Identify various types of optimizations on intermediate code and generate assembly code.
  • Week 1

    Preparing Background and Learn about Language Processing System

  • Week 2

    Phase of a Compiler

    • Assignment_H
      Opened: Thursday, 18 August 2022, 12:00 AM
      Due: Friday, 19 August 2022, 11:59 PM
      Restricted Not available unless: You belong to H
    • Assignment_I
      Opened: Thursday, 18 August 2022, 12:00 AM
      Due: Saturday, 20 August 2022, 11:59 PM
      Restricted Not available unless: You belong to I
    • Assignment_G
      Opened: Thursday, 18 August 2022, 12:00 AM
      Due: Monday, 22 August 2022, 11:59 PM
      Restricted Not available unless: You belong to G
  • Week 3

    Context Free Grammar: LMD, RMD

  • Week 4

    Regular Expression

    • Assignment H
      Opened: Friday, 26 August 2022, 12:00 AM
      Due: Friday, 26 August 2022, 11:00 PM
      Restricted Not available unless: You belong to H
    • Assignment I
      Opened: Friday, 26 August 2022, 12:00 AM
      Due: Saturday, 27 August 2022, 11:00 PM
      Restricted Not available unless: You belong to I
    • Assignment G
      Opened: Friday, 26 August 2022, 12:00 AM
      Due: Monday, 29 August 2022, 11:00 PM
      Restricted Not available unless: You belong to G
    • Opened: Friday, 23 September 2022, 7:00 PM
      Closed: Friday, 23 September 2022, 7:20 PM
  • Week 5

    NFA and DFA

    • Assignment 3
      Opened: Saturday, 17 September 2022, 12:00 AM
      Due: Saturday, 17 September 2022, 11:59 PM
      Restricted Not available unless: You belong to I
    • Assignment 3 G
      Opened: Saturday, 17 September 2022, 12:00 AM
      Due: Saturday, 17 September 2022, 11:59 PM
      Restricted Not available unless: You belong to G
    • Assignment 3
      Opened: Sunday, 2 October 2022, 12:00 AM
      Due: Friday, 7 October 2022, 12:00 AM
      Restricted Not available unless: You belong to H
  • Week 6

    NFA to DFA Conversion

  • Topic 7

    NFA to DFA Conversion

  • Week 7

    Mid

  • Week 8

    Left Recursion and Left Factoring Elimination

  • Week 9

    Determination of FIRST and FOLLOW Function

    • QuizPCD Assignment
      Opened: Tuesday, 22 November 2022, 10:00 PM
      Due: Tuesday, 22 November 2022, 10:40 PM
      Restricted Not available unless: You belong to PC_D
  • Week 10

    LR0 Parser and Canonical Table

    • Opened: Thursday, 13 October 2022, 12:00 AM
      Due: Thursday, 20 October 2022, 12:00 AM
  • Week 11

    Intermediate Code Generation

  • Week 12

    Code Generation and Basic Block

  • Week 13

    Code Optimization

  • Week 14

    Semester Final

    • Opened: Sunday, 20 November 2022, 12:00 AM
      Due: Sunday, 27 November 2022, 12:00 AM
    • Opened: Sunday, 20 November 2022, 12:00 AM
      Due: Sunday, 27 November 2022, 12:00 AM
    • Opened: Sunday, 20 November 2022, 12:00 AM
      Due: Sunday, 27 November 2022, 12:00 AM
    • Opened: Wednesday, 30 November 2022, 12:00 AM
      Due: Wednesday, 7 December 2022, 12:00 AM
    • Opened: Wednesday, 30 November 2022, 12:00 AM
      Due: Wednesday, 7 December 2022, 12:00 AM
  • Topic 16