SlideShare ist ein Scribd-Unternehmen logo
1 von 29
09/16/15 1
Iffat Anjum (IFF)
Formal Email:
iffat@bracu.ac.bd
iffat.16.cse@gmail.com
Submission Email:
iffat.submission@gmail.com
Phone: 01814928290
Google Group:
CompilerDesignBRACU
https://groups.google.com/forum/#
!forum/compilerdesignbracu
09/16/15 2
Theory Class Schedule:
Section 01: (UB30503)
Sunday, Monday
11.00 am - 12.20 pm
Section 02: (UB30501)
Sunday, Monday
08.00 am - 9.20 am
Lab Class Schedule:
Section 01: (UB40203)
NUM, MAZ
Monday, 08:00 am - 10:50 am
Section 02: (UB40203)
MAA, MKR
Thursday, 08:00 am-10:50 am 09/16/15 3
35% - Final Examination
25% - LAB performance
20% - MID Examination
8% - Assignment & Surprise Quizzes
7% - Declared Quizzes
5% - Attendance
No students will be allowed to sit for
final examination if he/she has less
than 70% attendance in LAB Class and
less than 75% attendance in Theory
Class
09/16/15 4
There will be surprise quizzes, given at the start of a lecture,
during any lecture.
NO LATE or MAKEUP SURPRISE QUIZZES, under any
circumstances whatsoever.
Surprise quizzes are completely individual efforts.
Your best strategy is to play it safe – attend every lecture.
Surprise Quizzes
09/16/15 5
Assignments need to be hand-written. I will not accept typed
up solutions.
Assignments are completely individual efforts.
If two written solutions are the same or similar, both will be
penalized (100% penalty for the entire assignment).
If a written solution is similar or same as an online or other
solution resource, you will be penalized (100% penalty for
the entire assignment).
Assignments
09/16/15 6
If you follow these 4 simple rules during the class, you'll make
sure that you do well in the course:
1. Attend every Theory and LAB classes.
2. Read the course material (textbook sections assigned + slides).
3. Submit everything (Assignments, Quizzes, Exams) on time -
don't be late.
4. Don't cheat.
Playing it safe in
CSE-420
09/16/15 7
Two Quizzes
Several Surprise Quizzes
If you fail to attend any exam you will get 0 (zero) on
that exam.
No makeup exams unless with documented medical
emergency.
Quizzes and Exams
09/16/15 8
Strong programming
background in C, C++ or
Java
Some background on
Automata Theory (NFA,
DFA, CFG) is
recommended…… ……not
mandatory
Assembly Language
Programming and
Machine Architecture
Pre-requisite
Knowledge
09/16/15 9
Aho, Lam, Sethi, Ullman:
Compilers: Principles,
Techniques, and Tools
(2nd Edition)
Recommended Books
09/16/15 10
Compiler Basics
Lexical Analysis
Syntax Analysis
Semantic Analysis
Runtime environments
Code Generation
Code Optimization
The Course covers
09/16/15 11
Programming problems are easier to solve in high-level
languages
 Languages closer to the level of the problem domain, e.g.,
 SmallTalk: OO programming
 JavaScript: Web pages
Solutions are usually more efficient (faster, smaller)
when written in machine language
 Language that reflects to the cycle-by-cycle working of a processor
Compilers are the bridges:
 Tools to translate programs written in high-level languages to efficient
executable code
What is a compiler?
09/16/15 12
Interpreters:
Compilers:
Introduction To Compilers
09/16/15 13
1954 IBM develops the 704
Successor to the 701
“Speedcoding”
FORTRAN I
Introduction To Compilers
09/16/15 14
The first compiler
Huge impact on computer science
Led to an enormous body of theoretical work
Modern compilers preserve the outline of FORTRAN I
Introduction To Compilers
09/16/15 15
1. Lexical Analysis
2. Parsing
3. Semantic Analysis
4. Optimization
5. Code Generation
Introduction To Compilers
09/16/15 16
 First step: recognize words.
 Smallest unit above letters
This is a sentence
Introduction To Compilers
09/16/15 17
ist his ase nte nce
Introduction To Compilers
09/16/15 18
 Lexical analysis divides program text into
“words” or “tokens”
if x == y then z = 1; else z = 2;
Introduction To Compilers
09/16/15 19
 Lexical analysis divides program text into
“words” or “tokens”
if x == y then z = 1; else z = 2;
Introduction To Compilers
09/16/15 20
 Second Step: Once words are understood, the
next step is to understand sentence structure
 Parsing = Diagramming Sentences
The diagram is a tree
Introduction To Compilers
09/16/15 21
This line is a longer sentence
Introduction To Compilers
09/16/15 22
if x == y then z = 1; else z = 2;
Introduction To Compilers
09/16/15 23
Third Step:
Once sentence structure is understood, we can
try to understand “meaning”
This is hard!
Compilers perform limited semantic analysis to
catch inconsistencies
Introduction To Compilers
09/16/15 24
Programming
languages define strict
rules to avoid such
ambiguities
Introduction To Compilers
{
int Jack = 3;
{
int Jack = 4;
cout << Jack;
}
}
{
int Jack = 3;
{
int Jack = 4;
cout << Jack;
}
}
09/16/15 25
Compilers perform many semantic checks
besides variable bindings
Example:
Jack left her homework at home.
A “type mismatch” between her and Jack;
we know they are different people
Introduction To Compilers
09/16/15 26
Optimization has no strong counterpart in
English
But a little bit like editing
X = Y * 0 is the same as X = 0
Automatically modify programs so that they
Run faster
Use less memory
Introduction To Compilers
09/16/15 27
Produces assembly code (usually)
A translation into another language
Analogous to human translation
Introduction To Compilers
09/16/15 28
Question?
09/16/15 29

Weitere ähnliche Inhalte

Andere mochten auch

Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design BasicsAkhil Kaushik
 
what is compiler and five phases of compiler
what is compiler and five phases of compilerwhat is compiler and five phases of compiler
what is compiler and five phases of compileradilmehmood93
 
Lecture 02 lexical analysis
Lecture 02 lexical analysisLecture 02 lexical analysis
Lecture 02 lexical analysisIffat Anjum
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingMukesh Tekwani
 
Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.Md Hossen
 
Lecture 03 lexical analysis
Lecture 03 lexical analysisLecture 03 lexical analysis
Lecture 03 lexical analysisIffat Anjum
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introductionRana Ehtisham Ul Haq
 
Lecture 06 syntax analysis 3
Lecture 06 syntax analysis 3Lecture 06 syntax analysis 3
Lecture 06 syntax analysis 3Iffat Anjum
 
About Tokens and Lexemes
About Tokens and LexemesAbout Tokens and Lexemes
About Tokens and LexemesBen Scholzen
 
Lecture 05 syntax analysis 2
Lecture 05 syntax analysis 2Lecture 05 syntax analysis 2
Lecture 05 syntax analysis 2Iffat Anjum
 
Fog computing ( foggy cloud)
Fog computing  ( foggy cloud)Fog computing  ( foggy cloud)
Fog computing ( foggy cloud)Iffat Anjum
 

Andere mochten auch (20)

Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
 
what is compiler and five phases of compiler
what is compiler and five phases of compilerwhat is compiler and five phases of compiler
what is compiler and five phases of compiler
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 
Lecture 02 lexical analysis
Lecture 02 lexical analysisLecture 02 lexical analysis
Lecture 02 lexical analysis
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems Programming
 
Lexical analyzer
Lexical analyzerLexical analyzer
Lexical analyzer
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
 
Compiler Construction
Compiler ConstructionCompiler Construction
Compiler Construction
 
Compilers
CompilersCompilers
Compilers
 
Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.
 
Lecture 03 lexical analysis
Lecture 03 lexical analysisLecture 03 lexical analysis
Lecture 03 lexical analysis
 
Lexical analysis
Lexical analysisLexical analysis
Lexical analysis
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introduction
 
Compiler Design Tutorial
Compiler Design Tutorial Compiler Design Tutorial
Compiler Design Tutorial
 
Lecture 06 syntax analysis 3
Lecture 06 syntax analysis 3Lecture 06 syntax analysis 3
Lecture 06 syntax analysis 3
 
Syntax analysis
Syntax analysisSyntax analysis
Syntax analysis
 
About Tokens and Lexemes
About Tokens and LexemesAbout Tokens and Lexemes
About Tokens and Lexemes
 
Lexical Analysis
Lexical AnalysisLexical Analysis
Lexical Analysis
 
Lecture 05 syntax analysis 2
Lecture 05 syntax analysis 2Lecture 05 syntax analysis 2
Lecture 05 syntax analysis 2
 
Fog computing ( foggy cloud)
Fog computing  ( foggy cloud)Fog computing  ( foggy cloud)
Fog computing ( foggy cloud)
 

Ähnlich wie Compiler design class schedule and syllabus

Handout 00 0
Handout 00 0Handout 00 0
Handout 00 0Mahmoud
 
ML_Lecture1_0.ppt
ML_Lecture1_0.pptML_Lecture1_0.ppt
ML_Lecture1_0.pptAleemAli20
 
(D 15 180770107240)
(D 15 180770107240)(D 15 180770107240)
(D 15 180770107240)RaviModi37
 
Introductory Programming With Python
Introductory Programming With PythonIntroductory Programming With Python
Introductory Programming With PythonBrendan McCane
 
1 2 programming
1 2 programming1 2 programming
1 2 programmingazimuthal
 
Module 201 2 20 just 20 basic
Module 201   2  20  just 20 basic Module 201   2  20  just 20 basic
Module 201 2 20 just 20 basic Nick Racers
 
01 computer programming
01 computer programming01 computer programming
01 computer programmingmanish aryal
 
Algorithms Design and Analysis - Edukite
Algorithms Design and Analysis - EdukiteAlgorithms Design and Analysis - Edukite
Algorithms Design and Analysis - EdukiteEduKite
 
Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17VishalButkar2
 
Te computer-syllabus-2015-course-3-4-17
Te computer-syllabus-2015-course-3-4-17Te computer-syllabus-2015-course-3-4-17
Te computer-syllabus-2015-course-3-4-17abc19789
 
LSBU PGCE Computing in Primary Schools
LSBU PGCE Computing in Primary SchoolsLSBU PGCE Computing in Primary Schools
LSBU PGCE Computing in Primary SchoolstalkPrimaryICT
 
Syllabus for Bachelors in Engineering Information Science
Syllabus for Bachelors in Engineering Information ScienceSyllabus for Bachelors in Engineering Information Science
Syllabus for Bachelors in Engineering Information Sciencesyed qutubuddin
 
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)Lori Mitchell
 
Introduction to Programming
Introduction to ProgrammingIntroduction to Programming
Introduction to ProgrammingALI RAZA
 
ECE203 Course Information
ECE203 Course InformationECE203 Course Information
ECE203 Course InformationJeya Prakash K
 
OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...
OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...
OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...shohi1
 

Ähnlich wie Compiler design class schedule and syllabus (20)

Lecture01 0089
Lecture01 0089Lecture01 0089
Lecture01 0089
 
Handout 00 0
Handout 00 0Handout 00 0
Handout 00 0
 
ML_Lecture1_0.ppt
ML_Lecture1_0.pptML_Lecture1_0.ppt
ML_Lecture1_0.ppt
 
(D 15 180770107240)
(D 15 180770107240)(D 15 180770107240)
(D 15 180770107240)
 
Introductory Programming With Python
Introductory Programming With PythonIntroductory Programming With Python
Introductory Programming With Python
 
1 2 programming
1 2 programming1 2 programming
1 2 programming
 
Module 1 2 just basic-
Module 1 2  just basic-Module 1 2  just basic-
Module 1 2 just basic-
 
Module 201 2 20 just 20 basic
Module 201   2  20  just 20 basic Module 201   2  20  just 20 basic
Module 201 2 20 just 20 basic
 
01 computer programming
01 computer programming01 computer programming
01 computer programming
 
Algorithms Design and Analysis - Edukite
Algorithms Design and Analysis - EdukiteAlgorithms Design and Analysis - Edukite
Algorithms Design and Analysis - Edukite
 
Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17
 
Te computer-syllabus-2015-course-3-4-17
Te computer-syllabus-2015-course-3-4-17Te computer-syllabus-2015-course-3-4-17
Te computer-syllabus-2015-course-3-4-17
 
LSBU PGCE Computing in Primary Schools
LSBU PGCE Computing in Primary SchoolsLSBU PGCE Computing in Primary Schools
LSBU PGCE Computing in Primary Schools
 
Syllabus for Bachelors in Engineering Information Science
Syllabus for Bachelors in Engineering Information ScienceSyllabus for Bachelors in Engineering Information Science
Syllabus for Bachelors in Engineering Information Science
 
STID
STIDSTID
STID
 
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
 
Introduction to Programming
Introduction to ProgrammingIntroduction to Programming
Introduction to Programming
 
UOC Bachelor's Degree in Techniques for Software Development - Guide for new ...
UOC Bachelor's Degree in Techniques for Software Development - Guide for new ...UOC Bachelor's Degree in Techniques for Software Development - Guide for new ...
UOC Bachelor's Degree in Techniques for Software Development - Guide for new ...
 
ECE203 Course Information
ECE203 Course InformationECE203 Course Information
ECE203 Course Information
 
OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...
OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...
OOAD & ST LAB MANUAL.pdfOose feasibility study in detail Oose feasibility stu...
 

Mehr von Iffat Anjum

Cognitive radio network_MS_defense_presentation
Cognitive radio network_MS_defense_presentationCognitive radio network_MS_defense_presentation
Cognitive radio network_MS_defense_presentationIffat Anjum
 
Lecture 15 run timeenvironment_2
Lecture 15 run timeenvironment_2Lecture 15 run timeenvironment_2
Lecture 15 run timeenvironment_2Iffat Anjum
 
Lecture 16 17 code-generation
Lecture 16 17 code-generationLecture 16 17 code-generation
Lecture 16 17 code-generationIffat Anjum
 
Lecture 14 run time environment
Lecture 14 run time environmentLecture 14 run time environment
Lecture 14 run time environmentIffat Anjum
 
Lecture 12 intermediate code generation
Lecture 12 intermediate code generationLecture 12 intermediate code generation
Lecture 12 intermediate code generationIffat Anjum
 
Lecture 13 intermediate code generation 2.pptx
Lecture 13 intermediate code generation 2.pptxLecture 13 intermediate code generation 2.pptx
Lecture 13 intermediate code generation 2.pptxIffat Anjum
 
Lecture 11 semantic analysis 2
Lecture 11 semantic analysis 2Lecture 11 semantic analysis 2
Lecture 11 semantic analysis 2Iffat Anjum
 
Lecture 09 syntax analysis 05
Lecture 09 syntax analysis 05Lecture 09 syntax analysis 05
Lecture 09 syntax analysis 05Iffat Anjum
 
Lecture 10 semantic analysis 01
Lecture 10 semantic analysis 01Lecture 10 semantic analysis 01
Lecture 10 semantic analysis 01Iffat Anjum
 
Lecture 07 08 syntax analysis-4
Lecture 07 08 syntax analysis-4Lecture 07 08 syntax analysis-4
Lecture 07 08 syntax analysis-4Iffat Anjum
 
Lecture 04 syntax analysis
Lecture 04 syntax analysisLecture 04 syntax analysis
Lecture 04 syntax analysisIffat Anjum
 
Distributed contention based mac protocol for cognitive radio
Distributed contention based mac protocol for cognitive radioDistributed contention based mac protocol for cognitive radio
Distributed contention based mac protocol for cognitive radioIffat Anjum
 
On qo s provisioning in context aware wireless sensor networks for healthcare
On qo s provisioning in context aware wireless sensor networks for healthcareOn qo s provisioning in context aware wireless sensor networks for healthcare
On qo s provisioning in context aware wireless sensor networks for healthcareIffat Anjum
 
Data link control
Data link controlData link control
Data link controlIffat Anjum
 
Pnp mac preemptive slot allocation and non preemptive transmission for provid...
Pnp mac preemptive slot allocation and non preemptive transmission for provid...Pnp mac preemptive slot allocation and non preemptive transmission for provid...
Pnp mac preemptive slot allocation and non preemptive transmission for provid...Iffat Anjum
 
Qo s based mac protocol for medical wireless body area sensor networks
Qo s based mac protocol for medical wireless body area sensor networksQo s based mac protocol for medical wireless body area sensor networks
Qo s based mac protocol for medical wireless body area sensor networksIffat Anjum
 
A reinforcement learning based routing protocol with qo s support for biomedi...
A reinforcement learning based routing protocol with qo s support for biomedi...A reinforcement learning based routing protocol with qo s support for biomedi...
A reinforcement learning based routing protocol with qo s support for biomedi...Iffat Anjum
 
Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...
Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...
Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...Iffat Anjum
 
Quality of service aware mac protocol for body sensor networks
Quality of service aware mac protocol for body sensor networksQuality of service aware mac protocol for body sensor networks
Quality of service aware mac protocol for body sensor networksIffat Anjum
 

Mehr von Iffat Anjum (20)

Cognitive radio network_MS_defense_presentation
Cognitive radio network_MS_defense_presentationCognitive radio network_MS_defense_presentation
Cognitive radio network_MS_defense_presentation
 
Lecture 15 run timeenvironment_2
Lecture 15 run timeenvironment_2Lecture 15 run timeenvironment_2
Lecture 15 run timeenvironment_2
 
Lecture 16 17 code-generation
Lecture 16 17 code-generationLecture 16 17 code-generation
Lecture 16 17 code-generation
 
Lecture 14 run time environment
Lecture 14 run time environmentLecture 14 run time environment
Lecture 14 run time environment
 
Lecture 12 intermediate code generation
Lecture 12 intermediate code generationLecture 12 intermediate code generation
Lecture 12 intermediate code generation
 
Lecture 13 intermediate code generation 2.pptx
Lecture 13 intermediate code generation 2.pptxLecture 13 intermediate code generation 2.pptx
Lecture 13 intermediate code generation 2.pptx
 
Lecture 11 semantic analysis 2
Lecture 11 semantic analysis 2Lecture 11 semantic analysis 2
Lecture 11 semantic analysis 2
 
Lecture 09 syntax analysis 05
Lecture 09 syntax analysis 05Lecture 09 syntax analysis 05
Lecture 09 syntax analysis 05
 
Lecture 10 semantic analysis 01
Lecture 10 semantic analysis 01Lecture 10 semantic analysis 01
Lecture 10 semantic analysis 01
 
Lecture 07 08 syntax analysis-4
Lecture 07 08 syntax analysis-4Lecture 07 08 syntax analysis-4
Lecture 07 08 syntax analysis-4
 
Lecture 04 syntax analysis
Lecture 04 syntax analysisLecture 04 syntax analysis
Lecture 04 syntax analysis
 
Distributed contention based mac protocol for cognitive radio
Distributed contention based mac protocol for cognitive radioDistributed contention based mac protocol for cognitive radio
Distributed contention based mac protocol for cognitive radio
 
On qo s provisioning in context aware wireless sensor networks for healthcare
On qo s provisioning in context aware wireless sensor networks for healthcareOn qo s provisioning in context aware wireless sensor networks for healthcare
On qo s provisioning in context aware wireless sensor networks for healthcare
 
Data link control
Data link controlData link control
Data link control
 
Pnp mac preemptive slot allocation and non preemptive transmission for provid...
Pnp mac preemptive slot allocation and non preemptive transmission for provid...Pnp mac preemptive slot allocation and non preemptive transmission for provid...
Pnp mac preemptive slot allocation and non preemptive transmission for provid...
 
Qo s based mac protocol for medical wireless body area sensor networks
Qo s based mac protocol for medical wireless body area sensor networksQo s based mac protocol for medical wireless body area sensor networks
Qo s based mac protocol for medical wireless body area sensor networks
 
A reinforcement learning based routing protocol with qo s support for biomedi...
A reinforcement learning based routing protocol with qo s support for biomedi...A reinforcement learning based routing protocol with qo s support for biomedi...
A reinforcement learning based routing protocol with qo s support for biomedi...
 
Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...
Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...
Data centric multiobjective qo s-aware routing protocol (dm-qos) for body are...
 
Quality of service aware mac protocol for body sensor networks
Quality of service aware mac protocol for body sensor networksQuality of service aware mac protocol for body sensor networks
Quality of service aware mac protocol for body sensor networks
 
Library system
Library systemLibrary system
Library system
 

Kürzlich hochgeladen

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 

Kürzlich hochgeladen (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 

Compiler design class schedule and syllabus

  • 2. Iffat Anjum (IFF) Formal Email: iffat@bracu.ac.bd iffat.16.cse@gmail.com Submission Email: iffat.submission@gmail.com Phone: 01814928290 Google Group: CompilerDesignBRACU https://groups.google.com/forum/# !forum/compilerdesignbracu 09/16/15 2
  • 3. Theory Class Schedule: Section 01: (UB30503) Sunday, Monday 11.00 am - 12.20 pm Section 02: (UB30501) Sunday, Monday 08.00 am - 9.20 am Lab Class Schedule: Section 01: (UB40203) NUM, MAZ Monday, 08:00 am - 10:50 am Section 02: (UB40203) MAA, MKR Thursday, 08:00 am-10:50 am 09/16/15 3
  • 4. 35% - Final Examination 25% - LAB performance 20% - MID Examination 8% - Assignment & Surprise Quizzes 7% - Declared Quizzes 5% - Attendance No students will be allowed to sit for final examination if he/she has less than 70% attendance in LAB Class and less than 75% attendance in Theory Class 09/16/15 4
  • 5. There will be surprise quizzes, given at the start of a lecture, during any lecture. NO LATE or MAKEUP SURPRISE QUIZZES, under any circumstances whatsoever. Surprise quizzes are completely individual efforts. Your best strategy is to play it safe – attend every lecture. Surprise Quizzes 09/16/15 5
  • 6. Assignments need to be hand-written. I will not accept typed up solutions. Assignments are completely individual efforts. If two written solutions are the same or similar, both will be penalized (100% penalty for the entire assignment). If a written solution is similar or same as an online or other solution resource, you will be penalized (100% penalty for the entire assignment). Assignments 09/16/15 6
  • 7. If you follow these 4 simple rules during the class, you'll make sure that you do well in the course: 1. Attend every Theory and LAB classes. 2. Read the course material (textbook sections assigned + slides). 3. Submit everything (Assignments, Quizzes, Exams) on time - don't be late. 4. Don't cheat. Playing it safe in CSE-420 09/16/15 7
  • 8. Two Quizzes Several Surprise Quizzes If you fail to attend any exam you will get 0 (zero) on that exam. No makeup exams unless with documented medical emergency. Quizzes and Exams 09/16/15 8
  • 9. Strong programming background in C, C++ or Java Some background on Automata Theory (NFA, DFA, CFG) is recommended…… ……not mandatory Assembly Language Programming and Machine Architecture Pre-requisite Knowledge 09/16/15 9
  • 10. Aho, Lam, Sethi, Ullman: Compilers: Principles, Techniques, and Tools (2nd Edition) Recommended Books 09/16/15 10
  • 11. Compiler Basics Lexical Analysis Syntax Analysis Semantic Analysis Runtime environments Code Generation Code Optimization The Course covers 09/16/15 11
  • 12. Programming problems are easier to solve in high-level languages  Languages closer to the level of the problem domain, e.g.,  SmallTalk: OO programming  JavaScript: Web pages Solutions are usually more efficient (faster, smaller) when written in machine language  Language that reflects to the cycle-by-cycle working of a processor Compilers are the bridges:  Tools to translate programs written in high-level languages to efficient executable code What is a compiler? 09/16/15 12
  • 14. 1954 IBM develops the 704 Successor to the 701 “Speedcoding” FORTRAN I Introduction To Compilers 09/16/15 14
  • 15. The first compiler Huge impact on computer science Led to an enormous body of theoretical work Modern compilers preserve the outline of FORTRAN I Introduction To Compilers 09/16/15 15
  • 16. 1. Lexical Analysis 2. Parsing 3. Semantic Analysis 4. Optimization 5. Code Generation Introduction To Compilers 09/16/15 16
  • 17.  First step: recognize words.  Smallest unit above letters This is a sentence Introduction To Compilers 09/16/15 17
  • 18. ist his ase nte nce Introduction To Compilers 09/16/15 18
  • 19.  Lexical analysis divides program text into “words” or “tokens” if x == y then z = 1; else z = 2; Introduction To Compilers 09/16/15 19
  • 20.  Lexical analysis divides program text into “words” or “tokens” if x == y then z = 1; else z = 2; Introduction To Compilers 09/16/15 20
  • 21.  Second Step: Once words are understood, the next step is to understand sentence structure  Parsing = Diagramming Sentences The diagram is a tree Introduction To Compilers 09/16/15 21
  • 22. This line is a longer sentence Introduction To Compilers 09/16/15 22
  • 23. if x == y then z = 1; else z = 2; Introduction To Compilers 09/16/15 23
  • 24. Third Step: Once sentence structure is understood, we can try to understand “meaning” This is hard! Compilers perform limited semantic analysis to catch inconsistencies Introduction To Compilers 09/16/15 24
  • 25. Programming languages define strict rules to avoid such ambiguities Introduction To Compilers { int Jack = 3; { int Jack = 4; cout << Jack; } } { int Jack = 3; { int Jack = 4; cout << Jack; } } 09/16/15 25
  • 26. Compilers perform many semantic checks besides variable bindings Example: Jack left her homework at home. A “type mismatch” between her and Jack; we know they are different people Introduction To Compilers 09/16/15 26
  • 27. Optimization has no strong counterpart in English But a little bit like editing X = Y * 0 is the same as X = 0 Automatically modify programs so that they Run faster Use less memory Introduction To Compilers 09/16/15 27
  • 28. Produces assembly code (usually) A translation into another language Analogous to human translation Introduction To Compilers 09/16/15 28