Topic outline

  • General

    Compiler Cover


    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

  • Week 3

    Context Free Grammar: LMD, RMD

  • Week 4

    Regular Expression

  • Week 5

    NFA and DFA

  • Week 6

    NFA to DFA Conversion

  • Week 7

    Mid

  • Week 8

    Left Recursion and Left Factoring Elimination

  • Week 9

    Determination of FIRST and FOLLOW Function

  • Week 10

    LR0 Parser and Canonical Table

  • Week 11

    Intermediate Code Generation

  • Week 12

    Code Generation and Basic Block

  • Week 13

    Code Optimization

  • Week 14

    Semester Final