Section outline
-
-
Dear Students,
Welcome to the 2020 Fall Semester!
Welcome back, Students. I can’t wait to see all your smiling faces again! . I am here to support you every step of the way.
I encourage you to make the most of your time here.
Remember to make it a great year. I will see you soon.Iftieaq MurshedLecturer, Dept. of CSEDaffodil International UniversityEmail: iftieaq.cse0305.c@diu.edu.bdPhone: 01756395455
-
-
-
Text Book:
1. Compiler Principles, Techniques and Tools By Aho, Ullman, Sethi [Download]
Reference Books:
1. Implementations of Compiler, A new approach to Compilers including the algebraic methods By Yunlin su, Song Y. Yan. [Download]
2. Compiler construction, Principles and Practice, By Kenneth C Louden. [Download]
3. Basics of Compiler Design by Torben. [Download]
-
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.
Lecture Slide: https://1drv.ms/p/s!AlQ1kOwk6kNGgRc_g3ITuSQbwRY7?e=9e7ibq-
Laboratory 1 Task: [View] Test Your Code Here
-
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:
Lecture Slide (Phase of a Compiler)
- Lecture Video
- Test Question
-
Laboratory 2 Task: [View]
-
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:
- Lecture Slide (Context Free Grammar)
- Lecture Slide (LMD & RMD)
- Lecture Video
- Test Question
-
Laboratory 3 Task: [View]
-
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:
- Lecture Slide (Regular Expression)
- Lecture Video
- Test Question
-
Laboratory 4 Task: [View]
-
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
-
Laboratory 5 Task: [View]
-
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:
- Lecture Slide (NFA to DFA Conversion)
- Lecture Video
-
Laboratory 6 Task: [View]
-
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 (FIRST and FOLLOW Function)
- Lecture Video
- Test Question
-
Laboratory 8 Task: [View]
-
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.
- Lecture Slide (LR0 Parser and Canonical Table)
- Lecture Video
- Test Question
-
Laboratory 9 Task: [View]
-
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 (Basic Block)
- Lecture Video
- Test Question
-
Laboratory 11 Task: [View]