SlideShare a Scribd company logo
1 of 19
Compiler
SUBMITTED BY:
MD:SUMON FAKIR
ID:173002024
Dept of CSE
SUBMITTED TO:
Md. Jahidul Islam
Lecturer of CSE
Green university of Bangladesh
Table of Contents
Introduction
The structure of Compiler(All phases)
All Phases of Compiler
1
Compiler & its Application
Compiler vs Interpreter
Symbol Table Management
Table of Contents cont..
Derivations (with Examples)
2
Reference
Conclusion
Introduction
3
A compiler translates the code written in one
language to some other language without
changing the meaning of the program. It is
also expected that a compiler should make
the target code efficient and optimized in
terms of time and space
Compiler & its Application
4
A compiler is a program that reads a
program written in one language and
translates is into an equivalent program
in another language.
What is compiler ?
Compiler & its Application cont..
5
Application of compiler
 Implementation of High-Level Programming
Optimizations for Computer Architectures
Design of New Computer Architectures
Program Translations
Software Productivity Tools
Compiler vs Interpreter
6
1.Compiler scans the entire program and
translate the whole it into machine code.
1.Interpreter translates just one statement
of the program at time into machine code
2.Compiler takes a lot of time to anaylize the
source code .however , the overall time
taken to execute the process is much faster.
2.An interpreter takes vary less time to
anaylize the source code .however, overall
time to execute the process is much slower.
3.Compiler are used by program language
like C and C++ for example
3.Interpreter are used by programming
language like Ruby and python for example
The Structure of Compiler (all phase )
7
Lexical Analyzer
Syntax Tree
Semantic Analyzer
Character stream
Intermediate code
generation
Code Optimizer
Code Generator
Symbol Table
manager
Error Handler
Lexical analysis coverts source program into a stream of
valid word of the language, known as token.
Lexical analyzer also known as(Lexer ,Scanner,Tokening )
8
Lexical Analyzer
Function of lexical
Analyzer
Convert the source code into stream of token.
Removing white space , comments
Recognizing keyword , identifier, Contents
Show error when then lexeme doesn’t match of
patten
All phase of Compiler
Syntax of a language refers to the structure of valid program or
statement of the language.
Specified using certain rules known as Productions
Collection of such productions(rules) is known as grammar.
Syntax Tree
9
Function of syntax
tree
Syntax analysis to verified that a string of token valid or not.
 report syntactic error.
recovery from such error so as to continuous to execution
process
All phase of Compiler (cont..)
Semantic Analysis makes sure that declarations and statements
of program are semantically correct. It is a collection of
procedures which is called by syntax tree as and when required by
grammar. Both syntax tree and symbol table are used to check
the consistency of the given code.
Semantic Analyzer
10
Function of syntax
tree  Semantic error :Type mismatch, Undeclared variables,
Reserved identifier.
 Type Checking: Ensures that data types are used in a way
consistent with their definition.
 Label Checking –A program should contain labels
references.
All phase of Compiler (cont..)
Semantic Analysis makes sure that declarations and statements
of program are semantically correct. It is a collection of
procedures which is called by syntax tree as and when required
by grammar. Both syntax tree and symbol table are used to
check the consistency of the given code.
Intermediate code generation
11
 Postfix Notation
 Three-Address Code
 Syntax
Intermediate code representation
All phase of Compiler (cont..)
Optimization is a program transformation technique, which tries
to improve the code by making it consume less resources example
CPU, Memory and deliver high speed. In optimization, high-level
general programming constructs are replaced by very efficient
low-level programming codes
Code Optimizer
12
Code generation can be considered as the final phase
of compilation. Through post code generation,
optimization process can be applied on the code
Code Generator
All phase of Compiler (cont..)
1
13
Symbol Table Manager
Symbol table is an important data structure created and maintained
by compilers in order to store information about the occurrence of
various entities such as variable names, function names, objects,
classes, interfaces, etc. Symbol table is used by both the analysis
and the synthesis parts of a compiler.
1
14
Derivation
derivation is used to find whether the string
belongs to a given grammar.
Type of Derivation
1. Leftmost derivation.
2. Rightmost derivation
1
15
Derivation cont..
Leftmost derivation
Example
A XYZ
B  a
Y b
Z c
SOLUTION
A XYZ
A aYZ
A abZ
A abc
Rightmost derivation
Example
A XYZ
B  a
Y b
Z c
SOLUTION
A XYZ
A XYc
A Xbc
A abc
1
16
A compiler translates the code written in one language to some other
language without changing the meaning of the program. It is also
expected that a compiler should make the target code efficient and
optimized in terms of time and space. Compiler design principles provide
an in-depth view of translation and optimization process.
Conclusion
1
17
1.https://www.tutorialspoint.com/compiler_design/index.htm
2.https://www.youtube.com/watch?v=KRx-
BPR4bbs&list=PLV8vIYTIdSnaeEO7C3elIV9u-
Vj5G5CRF&index=13
3.https://www.youtube.com/watch?v=9e-
ksSoVvG8&list=PLgH5QX0i9K3oWTwTgILA7v9oysoDgkJDg&ind
ex=7
References
1
18

More Related Content

What's hot

Spr ch-05-compilers
Spr ch-05-compilersSpr ch-05-compilers
Spr ch-05-compilersVasim Pathan
 
Compiler Design(Nanthu)
Compiler Design(Nanthu)Compiler Design(Nanthu)
Compiler Design(Nanthu)guest91cc85
 
Compiler Construction
Compiler ConstructionCompiler Construction
Compiler ConstructionSarmad Ali
 
Error detection recovery
Error detection recoveryError detection recovery
Error detection recoveryTech_MX
 
basics of compiler design
basics of compiler designbasics of compiler design
basics of compiler designPreeti Katiyar
 
Concept of compiler in details
Concept of compiler in detailsConcept of compiler in details
Concept of compiler in detailskazi_aihtesham
 
Chapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdfChapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdfDrIsikoIsaac
 
unit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdfunit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdfDrIsikoIsaac
 
Chapter One
Chapter OneChapter One
Chapter Onebolovv
 
Techniques & applications of Compiler
Techniques & applications of CompilerTechniques & applications of Compiler
Techniques & applications of CompilerPreethi AKNR
 
Compiler Design
Compiler DesignCompiler Design
Compiler DesignMir Majid
 
Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)guest251d9a
 
Introduction to Compiler Construction
Introduction to Compiler Construction Introduction to Compiler Construction
Introduction to Compiler Construction Sarmad Ali
 

What's hot (20)

phases of a compiler
 phases of a compiler phases of a compiler
phases of a compiler
 
Spr ch-05-compilers
Spr ch-05-compilersSpr ch-05-compilers
Spr ch-05-compilers
 
Phases of compiler
Phases of compilerPhases of compiler
Phases of compiler
 
Compiler Design(Nanthu)
Compiler Design(Nanthu)Compiler Design(Nanthu)
Compiler Design(Nanthu)
 
Compiler Construction
Compiler ConstructionCompiler Construction
Compiler Construction
 
Error detection recovery
Error detection recoveryError detection recovery
Error detection recovery
 
basics of compiler design
basics of compiler designbasics of compiler design
basics of compiler design
 
Phases of-compiler
Phases of-compilerPhases of-compiler
Phases of-compiler
 
Concept of compiler in details
Concept of compiler in detailsConcept of compiler in details
Concept of compiler in details
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
 
Chapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdfChapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdf
 
Compiler1
Compiler1Compiler1
Compiler1
 
Compiler Design Material
Compiler Design MaterialCompiler Design Material
Compiler Design Material
 
unit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdfunit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdf
 
Chapter One
Chapter OneChapter One
Chapter One
 
Techniques & applications of Compiler
Techniques & applications of CompilerTechniques & applications of Compiler
Techniques & applications of Compiler
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
 
Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)
 
Introduction to Compiler Construction
Introduction to Compiler Construction Introduction to Compiler Construction
Introduction to Compiler Construction
 

Similar to Compiler

Ch 1.pptx
Ch 1.pptxCh 1.pptx
Ch 1.pptxwoldu2
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfJacobDragonette
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introductionRana Ehtisham Ul Haq
 
Compiler_Lecture1.pdf
Compiler_Lecture1.pdfCompiler_Lecture1.pdf
Compiler_Lecture1.pdfAkarTaher
 
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGESOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGEIJCI JOURNAL
 
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGESOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGEIJCI JOURNAL
 
design intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdfdesign intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdfadvRajatSharma
 
Code generation errors and recovery
Code generation errors and recoveryCode generation errors and recovery
Code generation errors and recoveryMomina Idrees
 
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docxvenkatapranaykumarGa
 
lec00-Introduction.pdf
lec00-Introduction.pdflec00-Introduction.pdf
lec00-Introduction.pdfwigewej294
 
Chapter 2 Program language translation.pptx
Chapter 2 Program language translation.pptxChapter 2 Program language translation.pptx
Chapter 2 Program language translation.pptxdawod yimer
 
Chapter-1.pptx compiler Design Course Material
Chapter-1.pptx compiler Design Course MaterialChapter-1.pptx compiler Design Course Material
Chapter-1.pptx compiler Design Course MaterialgadisaAdamu
 
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATORPSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATORijistjournal
 
Phases of Compiler.pptx
Phases of Compiler.pptxPhases of Compiler.pptx
Phases of Compiler.pptxssuser3b4934
 

Similar to Compiler (20)

Ch 1.pptx
Ch 1.pptxCh 1.pptx
Ch 1.pptx
 
Chapter#01 cc
Chapter#01 ccChapter#01 cc
Chapter#01 cc
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdf
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introduction
 
3.2
3.23.2
3.2
 
Assignment1
Assignment1Assignment1
Assignment1
 
Compiler_Lecture1.pdf
Compiler_Lecture1.pdfCompiler_Lecture1.pdf
Compiler_Lecture1.pdf
 
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGESOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
 
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGESOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
SOFTWARE TOOL FOR TRANSLATING PSEUDOCODE TO A PROGRAMMING LANGUAGE
 
design intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdfdesign intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdf
 
Code generation errors and recovery
Code generation errors and recoveryCode generation errors and recovery
Code generation errors and recovery
 
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
 
lec00-Introduction.pdf
lec00-Introduction.pdflec00-Introduction.pdf
lec00-Introduction.pdf
 
Chapter 2 Program language translation.pptx
Chapter 2 Program language translation.pptxChapter 2 Program language translation.pptx
Chapter 2 Program language translation.pptx
 
Chapter-1.pptx compiler Design Course Material
Chapter-1.pptx compiler Design Course MaterialChapter-1.pptx compiler Design Course Material
Chapter-1.pptx compiler Design Course Material
 
Lexical analyzer
Lexical analyzerLexical analyzer
Lexical analyzer
 
How a Compiler Works ?
How a Compiler Works ?How a Compiler Works ?
How a Compiler Works ?
 
Cd unit i
Cd unit iCd unit i
Cd unit i
 
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATORPSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
 
Phases of Compiler.pptx
Phases of Compiler.pptxPhases of Compiler.pptx
Phases of Compiler.pptx
 

Recently uploaded

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 

Recently uploaded (20)

🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 

Compiler

  • 1. Compiler SUBMITTED BY: MD:SUMON FAKIR ID:173002024 Dept of CSE SUBMITTED TO: Md. Jahidul Islam Lecturer of CSE Green university of Bangladesh
  • 2. Table of Contents Introduction The structure of Compiler(All phases) All Phases of Compiler 1 Compiler & its Application Compiler vs Interpreter Symbol Table Management
  • 3. Table of Contents cont.. Derivations (with Examples) 2 Reference Conclusion
  • 4. Introduction 3 A compiler translates the code written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target code efficient and optimized in terms of time and space
  • 5. Compiler & its Application 4 A compiler is a program that reads a program written in one language and translates is into an equivalent program in another language. What is compiler ?
  • 6. Compiler & its Application cont.. 5 Application of compiler  Implementation of High-Level Programming Optimizations for Computer Architectures Design of New Computer Architectures Program Translations Software Productivity Tools
  • 7. Compiler vs Interpreter 6 1.Compiler scans the entire program and translate the whole it into machine code. 1.Interpreter translates just one statement of the program at time into machine code 2.Compiler takes a lot of time to anaylize the source code .however , the overall time taken to execute the process is much faster. 2.An interpreter takes vary less time to anaylize the source code .however, overall time to execute the process is much slower. 3.Compiler are used by program language like C and C++ for example 3.Interpreter are used by programming language like Ruby and python for example
  • 8. The Structure of Compiler (all phase ) 7 Lexical Analyzer Syntax Tree Semantic Analyzer Character stream Intermediate code generation Code Optimizer Code Generator Symbol Table manager Error Handler
  • 9. Lexical analysis coverts source program into a stream of valid word of the language, known as token. Lexical analyzer also known as(Lexer ,Scanner,Tokening ) 8 Lexical Analyzer Function of lexical Analyzer Convert the source code into stream of token. Removing white space , comments Recognizing keyword , identifier, Contents Show error when then lexeme doesn’t match of patten All phase of Compiler
  • 10. Syntax of a language refers to the structure of valid program or statement of the language. Specified using certain rules known as Productions Collection of such productions(rules) is known as grammar. Syntax Tree 9 Function of syntax tree Syntax analysis to verified that a string of token valid or not.  report syntactic error. recovery from such error so as to continuous to execution process All phase of Compiler (cont..)
  • 11. Semantic Analysis makes sure that declarations and statements of program are semantically correct. It is a collection of procedures which is called by syntax tree as and when required by grammar. Both syntax tree and symbol table are used to check the consistency of the given code. Semantic Analyzer 10 Function of syntax tree  Semantic error :Type mismatch, Undeclared variables, Reserved identifier.  Type Checking: Ensures that data types are used in a way consistent with their definition.  Label Checking –A program should contain labels references. All phase of Compiler (cont..)
  • 12. Semantic Analysis makes sure that declarations and statements of program are semantically correct. It is a collection of procedures which is called by syntax tree as and when required by grammar. Both syntax tree and symbol table are used to check the consistency of the given code. Intermediate code generation 11  Postfix Notation  Three-Address Code  Syntax Intermediate code representation All phase of Compiler (cont..)
  • 13. Optimization is a program transformation technique, which tries to improve the code by making it consume less resources example CPU, Memory and deliver high speed. In optimization, high-level general programming constructs are replaced by very efficient low-level programming codes Code Optimizer 12 Code generation can be considered as the final phase of compilation. Through post code generation, optimization process can be applied on the code Code Generator All phase of Compiler (cont..)
  • 14. 1 13 Symbol Table Manager Symbol table is an important data structure created and maintained by compilers in order to store information about the occurrence of various entities such as variable names, function names, objects, classes, interfaces, etc. Symbol table is used by both the analysis and the synthesis parts of a compiler.
  • 15. 1 14 Derivation derivation is used to find whether the string belongs to a given grammar. Type of Derivation 1. Leftmost derivation. 2. Rightmost derivation
  • 16. 1 15 Derivation cont.. Leftmost derivation Example A XYZ B  a Y b Z c SOLUTION A XYZ A aYZ A abZ A abc Rightmost derivation Example A XYZ B  a Y b Z c SOLUTION A XYZ A XYc A Xbc A abc
  • 17. 1 16 A compiler translates the code written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target code efficient and optimized in terms of time and space. Compiler design principles provide an in-depth view of translation and optimization process. Conclusion
  • 19. 1 18