Anda di halaman 1dari 5

Course Profile

Course Title: Compiler Design


Course No: CSE-401 Credit: 3 Contact Hours: 3 Total Marks: 100

Rationale: To teach students Compiler Design so that they can learn the compilation process
and implement basic compiler tools.
Objectives: After learning this course students will be able to

1. define and describe Compier Design


2. classify and compare the phases of compiler.
3. Gain knowlege about compilation process.
4. Implement basic compiler tools.

Learning Outcomes Course Contents Teaching Assessment


Strategy/Methodol Strategy/tools
ogy
Basic of Compiler Design:
1. Define Compiler 1. Defination of Compiler
2. Define Interpreter 2. Defination of Interpreter 1. Lectures 1. Question: SQ/QT
3. Explain Compiler 3. Comparision between PI 2. WB 2. Test:
4. Compare Compiler 3. MMP QT/CT/MT/FE
and Interface 4. excercise
Basic of Complier Design:
1. Describe the requirments
1. Describe the of a compiler.
Requriments of 2. Discuss analysis syntheis 1. Lectures 1. Question: SQ/BQ
Compiler model. 2. WB 2. Test:
2. Discuss Analysis 3. Language Processor steps. 3. MMP QT/CT/MT/FE
Synthesis model. 4. rapport
3. Steps of Language building
processor.
Phases of Compiler: lexical
1. Discuss lexical analysis, syntax, semantic analysis
anlysis 1. Discussion about Lexical
2. DiscussSyntex Analysis
analysis 2. Discussion about Syntax 1. Lectures 1. Question: SQ/BQ
3. Differentiate lexical Analysis 2. WB 2. Test:
and semantic 3. Discussion about Semantic 3. MMP QT/CT/MT/FE
analysis Analysis 4. Group 3. Assignment
4. Semantic analysis 4. Differentiate lexical and discussion
semantic analysis
Phases of Compiler: lexical
analysis, syntax, semantic analysis
1. Describe 1. Discussion about
Intermediate Code Intermediate Code
Generation Generation
2. Discuss Code 2. Discussion about Code 1. Lectures 1. Question: SQ/BQ
Optimization Optimization 2. WB 2. Test:
3. Discuss Final Code 3. Discussion Final Code 3. MMP QT/CT/MT/FE
generation generation 4. Group 3. Presentation
excercise

Terminology of Lexical Analysis:


1. Define Alphabet 1. Defination of Alphabet
2. Define String and 2. Defination of String 1. Lectures 1. Question: SQ/BQ
3. empty string(). 3. Defination of empty string 2. WB 2. Test:
4. Define Language. 4. Compare Alphabet, string, 3. MMP QT/CT/MT/FE
Compare Alphabet, empty string and language. 4. Group 3. Assignment
5. String, Language. discussion

Terminology of Lexical Analysis:


1. Define Prefix of a 1. Defination of prefix 1. Lectures 1. Question: SQ/BQ
string. 2. Defination of Suffix 2. WB 2. Test:
2. Define Suffix of a 3. Defination of Substring 3. MMP QT/CT/MT/FE
string. 4. Compare prefix, suffix and 4. Group 3. Assignment
3. Define Substring of substring. excercise 4. Presentation
a string.
4. Compare prefix
,suffix and prefix.

1. Defination of Kleen
1. Define Kleen clouse closure with examle
with example 2. Defination of positive 1. Lectures 1. Question: SQ/BQ
2. Define Positive closure with example. 2. WB 2. Test:
clousure with 3. Rules of RE and 3. MMP QT/CT/MT/FE
example. precedence of RE. 4. Hand Note 3. Assignment
3. Describe Regular 4. Presentation
Expression
4. Precedence of RE
1. Discuss transition 1. Defination of TD with
diagram with example
example. 2. Analysis of TD for 1. Lectures 1. SQ,BQ
2. Evaluate TD for different example 2. MMP 2. QT
Different example. 3. Discussion on FA 3. WB 3. Assignment
3. Describe Finite 4. Discussion on NFA and 4. Demostration 4. Presentation
Automata DFA 5. live web
4. Different types of Portal
FA 6. Group
5. Discuss Non- study
deterministic finite
automata (NFA)
6. Discuss
deterministic finite
automata(DFA).
7. Differentiate NFA
and DFA
1. Analysis on How does a
1. Working procedure NFA work 1. Lectures 1. Question: SQ/BQ
of NFA 2. Description about the 2. WB 2. Test:
2. Rules of Convertion rules of Coverting RE to 3. MMP QT/CT/MT/FE
from RE to NFA NFA. 4. excercise 3. Assignment
3. Evaluate RE to NFA 3. Conversiton from RE to 5. Demostration 4. Presentation
NFA. 6. live web
Portal

1. Discuss rules of 1. Discussion on the rules of 1. Lectures 1. Question: SQ/BQ


NFA to DFA NFA to DFA 2. WB 2. Test:
2. Define-closure 2. Explain -closure. 3. MMP QT/CT/MT/FE
3. Evaluation of NFA 3. Derivation from NFA to 4. rapport 3. Assignment
to DFA procedure DFA building 4. Presentation

1. Rules from 1. Discussion on the rules of 1. Lectures 1. Question: SQ/BQ


convertion DFA to convertion from DFA to 2. WB 2. Test:
RE RE. 3. Poster QT/CT/MT/FE
2. Conversion from 2. Conversion from DFA to 4. excercise 3. Assignment
DFA to RE RE 4. Presentation

1. Discuss firstpos 1. Rules of Fistpos, lastpos 1. Lectures 1. Question: SQ/BQ


2. Discuss lastpost and follwopos. 2. WB 2. Test:
3. Discuss followpos 2. Rules of Followpos 3. Demostration QT/CT/MT/FE
4. Coverstion from RE 3. Coverstion from RE to 4. live web 3. Assignment
to DFA using DFA using Firstpos, Portal 4. Presentation
Firstpos, lastpos and lastpos and followpos. 5. Group
followpos. study

1. Define Contex free 1. Defination of CFS 1. Lectures 1. Question:


grammer 2. Classification of CFS 2. WB SQ/BQ
2. Classify contex free 3. Application of SLR 3. Poster 2. Test:
grammer 4. Discussion on Syntactic 4. excercise QT/CT/MT/F
3. Define and Error E
ApplySLR parsing 5. recovery 3. Assignment
4. Discuss Syntactic 6. Describe type checking 4. Presentation
Error Recovery and symbol table.
5. Describe type
cheking and symbol
table.
1. Describe the 1. Description of the 1. Lectures 1. Question:
translation of translation of 2. WB SQ/BQ
Boolean 2. Boolean expressions. 3. Poster 2. Test:
expressions 3. Describe and analysis 4. excercise QT/CT/MT/F
2. Describe and switch\ E
analysis 4. case statement 3. Assignment
switch\case 4. Presentation
statement
1. Describe control 1. Discussion on cfg. 1. Lectures 1. Question:
flow graph 2. Discussion on loop in cfg 2. WB SQ/BQ
2. Discuss loop in 3. Analysis the life variable 3. Poster 2. Test:
control flow graph cycle. 4. excercise QT/CT/MT/F
3. Discuss and E
analysis life 3. Assignment
variable cycle 4. Presentation

Course Materials:

1. Compilers: Principles Techiques and ToolsAho, Lam Shethi,Ullman.


2. Engineering a compiler-keith Cooper, Linda Torcozon, 2nd Edition.
3. Compier Construction: Principles and Practice - Kenneth C. Louden

Instructor

Tanvir Ahammad
Lecturer,
Dept. of CSE, DIU
Contact: +8801872222453
E-mail: tavir.cse@diu-bd.net

Anda mungkin juga menyukai