SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Compiler
Translators

     A program which converts a user’s program
     written in some language to another
     language.
     The language in which the user’s program is
     written is called the source language
     The language to which the source language
     is converted is called the target language


5/1/2006    Computer System Software CS 012 BE 7th Semester   2
Translators
There is an important difference between
translation and interpretation. In the former,
the original program is first converted to an
equivalent program called an object program.
Then this object program is executed i.e. only
after the translation has been completed.
Hence, the original program in the source
language is not directly executed.


5/1/2006   Computer System Software CS 012 BE 7th Semester   3
Translators
 translation comprises of two steps i.e
    Generation of an equivalent program in
    target language
    Execution of the generated program
 Interpretation consists of only one step i.e.
    executing the original source program



5/1/2006   Computer System Software CS 012 BE 7th Semester   4
Translators




5/1/2006   Computer System Software CS 012 BE 7th Semester   5
Translators




5/1/2006   Computer System Software CS 012 BE 7th Semester   6
Translators




5/1/2006   Computer System Software CS 012 BE 7th Semester   7
Phases in a compiler
     Lexical analysis
     Syntactic analysis
     Semantic analysis
     Intermediate code generation
     Code optimization
     Code generation


5/1/2006   Computer System Software CS 012 BE 7th Semester   8
Compiler
  Compiler (Front - End )
  Largely dependent on the source language
  Independent of the target machine
 Comprises the first three phases viz.,
  – Lexical Analysis
  – Syntactic Analysis
  – Semantic Analysis
  Sometimes the intermediate code
  generation phase is also included

5/1/2006   Computer System Software CS 012 BE 7th Semester   9
Compiler
     Back-End
     Dependent on the target machine
     Independent of the source language
     Includes the last two phases viz.,
     – Code Optimization
     – Code Generation


5/1/2006   Computer System Software CS 012 BE 7th Semester   10
Lexical Analysis
     Scans the source program into basic
     elements called tokens
     Prepares the symbol table which
     maintains information about tokens
     Eliminates white space characters such
     as comments, blanks and tabs



5/1/2006   Computer System Software CS 012 BE 7th Semester   11
Lexical Analysis
EXAMPLE:
IF ( x < 5.0 ) THEN x=x+2 ELSE x=x-3;
TOKENS:
Keywords : IF, THEN, ELSE
Identifier(s) : x
Constants : 2, 3, 5.0
The blanks separating these tokens would
normally be eliminated during lexical analysis.
Nowadays, there are tools to do this phase
efficiently. For e.g. in Unix systems, a standard
tool called lex is available for this purpose.
 5/1/2006   Computer System Software CS 012 BE 7th Semester   12
Syntax Analysis
 Syntax analysis is also known as parsing or
   hierarchical analysis.
   It basically involves grouping of the
   statements into grammatical phrases that are
   used by the compiler to generate the output
   finally. The grammatical phrases of the
   source program are usually represented by a
   parse tree( A parse tree is a structural
   representation of the input being parsed) as
   shown

5/1/2006   Computer System Software CS 012 BE 7th Semester   13
5/1/2006   Computer System Software CS 012 BE 7th Semester   14
Syntax Analysis
     there are tools to generate parsers. For
     e.g. in Unix systems, a tool called as
     YACC (Yet Another Compiler Compiler)
     is available for this purpose.




5/1/2006    Computer System Software CS 012 BE 7th Semester   15
Semantic Analysis

   Looks into the static meaning of the program
   Gathers type information for the subsequent
   code generation phase
 Checks whether the type of variables used in
   the program is consistent with the type
   defined in the declaration.
 Example: If a variable is defined as type char,
   then it is not permitted to do arithmetic
   operations on that variable.
5/1/2006   Computer System Software CS 012 BE 7th Semester   16
Intermediate Code Generation
     Some compilers generate an explicit
     intermediate representation of the source
     program after syntax and semantic analysis.
     This intermediate representation of the
     source program can be thought of as a
     program for an abstract machine and should
     have two main properties viz.,
     It should be easy to produce
     It should be easy to translate into the target
     program

5/1/2006     Computer System Software CS 012 BE 7th Semester   17
Next Session

 Compilers -:

 Code optimization

 Code Generation


5/1/2006   Computer System Software CS 012 BE 7th Semester   18

Más contenido relacionado

La actualidad más candente

Spr ch-05-compilers
Spr ch-05-compilersSpr ch-05-compilers
Spr ch-05-compilers
Vasim Pathan
 

La actualidad más candente (20)

Compiler presentaion
Compiler presentaionCompiler presentaion
Compiler presentaion
 
Analysis of the source program
Analysis of the source programAnalysis of the source program
Analysis of the source program
 
Language processors
Language processorsLanguage processors
Language processors
 
Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language Processing
 
phases of a compiler
 phases of a compiler phases of a compiler
phases of a compiler
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
Compiler design
Compiler designCompiler design
Compiler design
 
System programming
System programmingSystem programming
System programming
 
Ch1
Ch1Ch1
Ch1
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
 
Phases of-compiler
Phases of-compilerPhases of-compiler
Phases of-compiler
 
Compilers
CompilersCompilers
Compilers
 
Compiler Construction
Compiler ConstructionCompiler Construction
Compiler Construction
 
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
 
Cpcs302 1
Cpcs302  1Cpcs302  1
Cpcs302 1
 
Phases of compiler
Phases of compilerPhases of compiler
Phases of compiler
 
Cd unit i
Cd unit iCd unit i
Cd unit i
 
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
 
Spr ch-05-compilers
Spr ch-05-compilersSpr ch-05-compilers
Spr ch-05-compilers
 
Principles of compiler design
Principles of compiler designPrinciples of compiler design
Principles of compiler design
 

Destacado

Lesson 5 - Managing Devices
Lesson 5 - Managing DevicesLesson 5 - Managing Devices
Lesson 5 - Managing Devices
Gene Carboni
 
Lesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System ConfigurationsLesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System Configurations
Gene Carboni
 
Lesson 8 - Understanding Backup and Recovery Methods
Lesson 8 - Understanding Backup and Recovery MethodsLesson 8 - Understanding Backup and Recovery Methods
Lesson 8 - Understanding Backup and Recovery Methods
Gene Carboni
 
Lesson 7 - Maintaining, Updating, and Protecting
Lesson 7 - Maintaining, Updating, and ProtectingLesson 7 - Maintaining, Updating, and Protecting
Lesson 7 - Maintaining, Updating, and Protecting
Gene Carboni
 
Lesson 1 - Introducing, Installing, and Upgrading Windows 7
Lesson 1 - Introducing, Installing, and Upgrading Windows 7Lesson 1 - Introducing, Installing, and Upgrading Windows 7
Lesson 1 - Introducing, Installing, and Upgrading Windows 7
Gene Carboni
 
Lesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and LibrariesLesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and Libraries
Gene Carboni
 

Destacado (6)

Lesson 5 - Managing Devices
Lesson 5 - Managing DevicesLesson 5 - Managing Devices
Lesson 5 - Managing Devices
 
Lesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System ConfigurationsLesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System Configurations
 
Lesson 8 - Understanding Backup and Recovery Methods
Lesson 8 - Understanding Backup and Recovery MethodsLesson 8 - Understanding Backup and Recovery Methods
Lesson 8 - Understanding Backup and Recovery Methods
 
Lesson 7 - Maintaining, Updating, and Protecting
Lesson 7 - Maintaining, Updating, and ProtectingLesson 7 - Maintaining, Updating, and Protecting
Lesson 7 - Maintaining, Updating, and Protecting
 
Lesson 1 - Introducing, Installing, and Upgrading Windows 7
Lesson 1 - Introducing, Installing, and Upgrading Windows 7Lesson 1 - Introducing, Installing, and Upgrading Windows 7
Lesson 1 - Introducing, Installing, and Upgrading Windows 7
 
Lesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and LibrariesLesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and Libraries
 

Similar a 3ss

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
venkatapranaykumarGa
 
Compilerdesignnew 091219090526-phpapp02
Compilerdesignnew 091219090526-phpapp02Compilerdesignnew 091219090526-phpapp02
Compilerdesignnew 091219090526-phpapp02
Anil Thakral
 

Similar a 3ss (20)

Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introduction
 
design intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdfdesign intoduction of_COMPILER_DESIGN.pdf
design intoduction of_COMPILER_DESIGN.pdf
 
Chapter#01 cc
Chapter#01 ccChapter#01 cc
Chapter#01 cc
 
Assignment1
Assignment1Assignment1
Assignment1
 
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
 
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
 
Chapter 2 Program language translation.pptx
Chapter 2 Program language translation.pptxChapter 2 Program language translation.pptx
Chapter 2 Program language translation.pptx
 
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
 
Ch 1.pptx
Ch 1.pptxCh 1.pptx
Ch 1.pptx
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdf
 
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
 
Phases of Compiler.pptx
Phases of Compiler.pptxPhases of Compiler.pptx
Phases of Compiler.pptx
 
Chapter 1.pptx
Chapter 1.pptxChapter 1.pptx
Chapter 1.pptx
 
3.2
3.23.2
3.2
 
Phases of Compiler.pdf
Phases of Compiler.pdfPhases of Compiler.pdf
Phases of Compiler.pdf
 
Compiler_Lecture1.pdf
Compiler_Lecture1.pdfCompiler_Lecture1.pdf
Compiler_Lecture1.pdf
 
Compiler Design(Nanthu)
Compiler Design(Nanthu)Compiler Design(Nanthu)
Compiler Design(Nanthu)
 
Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)
 
Compilerdesignnew 091219090526-phpapp02
Compilerdesignnew 091219090526-phpapp02Compilerdesignnew 091219090526-phpapp02
Compilerdesignnew 091219090526-phpapp02
 
Compiler Design Material
Compiler Design MaterialCompiler Design Material
Compiler Design Material
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

3ss

  • 2. Translators A program which converts a user’s program written in some language to another language. The language in which the user’s program is written is called the source language The language to which the source language is converted is called the target language 5/1/2006 Computer System Software CS 012 BE 7th Semester 2
  • 3. Translators There is an important difference between translation and interpretation. In the former, the original program is first converted to an equivalent program called an object program. Then this object program is executed i.e. only after the translation has been completed. Hence, the original program in the source language is not directly executed. 5/1/2006 Computer System Software CS 012 BE 7th Semester 3
  • 4. Translators translation comprises of two steps i.e Generation of an equivalent program in target language Execution of the generated program Interpretation consists of only one step i.e. executing the original source program 5/1/2006 Computer System Software CS 012 BE 7th Semester 4
  • 5. Translators 5/1/2006 Computer System Software CS 012 BE 7th Semester 5
  • 6. Translators 5/1/2006 Computer System Software CS 012 BE 7th Semester 6
  • 7. Translators 5/1/2006 Computer System Software CS 012 BE 7th Semester 7
  • 8. Phases in a compiler Lexical analysis Syntactic analysis Semantic analysis Intermediate code generation Code optimization Code generation 5/1/2006 Computer System Software CS 012 BE 7th Semester 8
  • 9. Compiler Compiler (Front - End ) Largely dependent on the source language Independent of the target machine Comprises the first three phases viz., – Lexical Analysis – Syntactic Analysis – Semantic Analysis Sometimes the intermediate code generation phase is also included 5/1/2006 Computer System Software CS 012 BE 7th Semester 9
  • 10. Compiler Back-End Dependent on the target machine Independent of the source language Includes the last two phases viz., – Code Optimization – Code Generation 5/1/2006 Computer System Software CS 012 BE 7th Semester 10
  • 11. Lexical Analysis Scans the source program into basic elements called tokens Prepares the symbol table which maintains information about tokens Eliminates white space characters such as comments, blanks and tabs 5/1/2006 Computer System Software CS 012 BE 7th Semester 11
  • 12. Lexical Analysis EXAMPLE: IF ( x < 5.0 ) THEN x=x+2 ELSE x=x-3; TOKENS: Keywords : IF, THEN, ELSE Identifier(s) : x Constants : 2, 3, 5.0 The blanks separating these tokens would normally be eliminated during lexical analysis. Nowadays, there are tools to do this phase efficiently. For e.g. in Unix systems, a standard tool called lex is available for this purpose. 5/1/2006 Computer System Software CS 012 BE 7th Semester 12
  • 13. Syntax Analysis Syntax analysis is also known as parsing or hierarchical analysis. It basically involves grouping of the statements into grammatical phrases that are used by the compiler to generate the output finally. The grammatical phrases of the source program are usually represented by a parse tree( A parse tree is a structural representation of the input being parsed) as shown 5/1/2006 Computer System Software CS 012 BE 7th Semester 13
  • 14. 5/1/2006 Computer System Software CS 012 BE 7th Semester 14
  • 15. Syntax Analysis there are tools to generate parsers. For e.g. in Unix systems, a tool called as YACC (Yet Another Compiler Compiler) is available for this purpose. 5/1/2006 Computer System Software CS 012 BE 7th Semester 15
  • 16. Semantic Analysis Looks into the static meaning of the program Gathers type information for the subsequent code generation phase Checks whether the type of variables used in the program is consistent with the type defined in the declaration. Example: If a variable is defined as type char, then it is not permitted to do arithmetic operations on that variable. 5/1/2006 Computer System Software CS 012 BE 7th Semester 16
  • 17. Intermediate Code Generation Some compilers generate an explicit intermediate representation of the source program after syntax and semantic analysis. This intermediate representation of the source program can be thought of as a program for an abstract machine and should have two main properties viz., It should be easy to produce It should be easy to translate into the target program 5/1/2006 Computer System Software CS 012 BE 7th Semester 17
  • 18. Next Session Compilers -: Code optimization Code Generation 5/1/2006 Computer System Software CS 012 BE 7th Semester 18