SlideShare a Scribd company logo
MODERN INSTITUTE OF ENGINEERING& TECHNOLOGY
NAME– RANITHALDER
SUBJECT– compilerdesigning
REGNO.– 212690100110017
ROLLNO.– 26900121016
YEAR– 3rD YEAR
SEM– 5th SEM
DEPT– COMPUTERSCIENCE
ANDENGINEERING
Compiler construction tool
ACKNOWLEDGMENTS
I WOULDLIKETO EXPRESS MY SPECIALTHANKS TO MY TEACHER(rimpa Ghosh)WHO
GAVE ME THE GOLDENOPPORTUNITYTO DO THISWONDERFULPROJECTON THE
TOPIC(compiler construction tool) .WHICH HELPEDME TO DO A LOTS OF RESEARCH AND
I CAME TO KNOWABOUT SO MANYNEWTHINGS.IAM REALLY THANKFULTO THEM.
SECONDLY, I WOULDLIKETO THANKSMY FRIENDs & parents WHOHELPEDME IN
DOINGTHIS PROJECTWITHINLIMITEDTIMEFRAME.
introduction
Compiler construction tools are a set of software programs that
are used to convert source code into executable code. These
tools are an essential part of the software development process,
as they help developers write code more efficiently and
accurately. Without compiler construction tools, developers
would have to manually translate every line of code into machine-
readable instructions. This would be an incredibly time-
consuming and error-prone process, which is why compiler
construction tools are so important.
What is compiler construction tool?
The compiler writer can use some specialized tools that help in
implementing various phases of a compiler. These tools assist in
the creation of an entire compiler or its parts. These are called
compiler construction tools.
List of compiler construction tools
1.Parser Generator – It produces syntax analyzers (parsers) from
the input that is based on a grammatical description of
programming language or on a context-free grammar. It is
useful as the syntax analysis phase is highly complex and
consumes more manual and compilation time. Example: PIC,
EQM
2.Scanner Generator – It generates lexical analyzers from the
input that consists of regular expression description based on
tokens of a language. It generates a finite automaton to
recognize the regular expression. Example: Lex
3.Syntax directed translation engines – It generates intermediate
code with three address format from the input that consists of a parse
tree. These engines have routines to traverse the parse tree and then
produces the intermediate code. In this, each node of the parse tree is
associated with one or more translations.
4.Automatic code generators – It generates the machine language
for a target machine. Each operation of the intermediate language is
translated using a collection of rules and then is taken as an input by
the code generator. A template matching process is used. An
intermediate language statement is replaced by its equivalent machine
language statement using templates.
5.Data-flow analysis engines – It is used in code optimization.
Data flow analysis is a key part of the code optimization that
gathers the information, that is the values that flow from one
part of a program to another. Refer – data flow analysis in
Compiler
6.Compiler construction toolkits – It provides an integrated
set of routines that aids in building compiler components or
in the construction of various phases of compiler.
Features of compiler construction tools :
• Lexical Analyzer Generator: This tool helps in generating the lexical
analyzer or scanner of the compiler. It takes as input a set of regular
expressions that define the syntax of the language being compiled
and produces a program that reads the input source code and
tokenizes it based on these regular expressions.
• Parser Generator: This tool helps in generating the parser of the
compiler. It takes as input a context-free grammar that defines the
syntax of the language being compiled and produces a program that
parses the input tokens and builds an abstract syntax tree.
• Code Generation Tools: These tools help in generating the target
code for the compiler. They take as input the abstract syntax tree
produced by the parser and produce code that can be executed on
the target machine.
Features …
• Optimization Tools: These tools help in optimizing the generated code for efficiency and
performance. They can perform various optimizations such as dead code elimination, loop
optimization, and register allocation.
• Debugging Tools: These tools help in debugging the compiler itself or the programs that are being
compiled. They can provide debugging information such as symbol tables, call stacks, and runtime
errors.
• Profiling Tools: These tools help in profiling the compiler or the compiled code to identify
performance bottlenecks and optimize the code accordingly.
• Documentation Tools: These tools help in generating documentation for the compiler and the
programming language being compiled. They can generate documentation for the syntax,
semantics, and usage of the language.
• Language Support: Compiler construction tools are designed to support a wide range of
programming languages, including high-level languages such as C++, Java, and Python, as well as
low-level languages such as assembly language.
• Cross-Platform Support: Compiler construction tools may be designed to work on multiple
platforms, such as Windows, Mac, and Linux.
• User Interface: Some compiler construction tools come with a user interface that makes it easier for
developers to work with the compiler and its associated tools
Conclusion
• In conclusion, compiler construction tools are essential for software
developers to create efficient and error-free code. These tools help
automate the process of translating high-level programming
languages into machine code, making it easier for developers to focus
on building great software.
• We've discussed different types of compiler construction tools, such
as lexical analyzers, parsers, and code generators, and highlighted
some of the most popular tools like Flex, Bison, and LLVM. We've also
explored some of the challenges that arise in the process of compiler
construction, such as handling errors and optimizing code.
Reference
• Compilers: Principles, Techniques, and Tools by Alfred V. Aho,
Ravi Sethi, Jeffrey D. Ullman - Second Edition, 2007
• Muchnick, Steven (1997). Advanced Compiler Design and
Implementation
• Compilers: Principles, Techniques, and Tools[1] is
a computer science textbook by Alfred V. Aho, Monica S.
Lam, Ravi Sethi, and Jeffrey D.
Ullman about compiler construction for programming
languages.
compiler construction tool in computer science .
Ad

More Related Content

What's hot (20)

Compiler design syntax analysis
Compiler design syntax analysisCompiler design syntax analysis
Compiler design syntax analysis
Richa Sharma
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
Tanzeela_Hussain
 
Unit iv(simple code generator)
Unit iv(simple code generator)Unit iv(simple code generator)
Unit iv(simple code generator)
Kalaimathi Vijayakumar
 
Top down parsing
Top down parsingTop down parsing
Top down parsing
LakshmiSamivel
 
Chapter 5 Syntax Directed Translation
Chapter 5   Syntax Directed TranslationChapter 5   Syntax Directed Translation
Chapter 5 Syntax Directed Translation
Radhakrishnan Chinnusamy
 
Types of Parser
Types of ParserTypes of Parser
Types of Parser
SomnathMore3
 
Lexical Analysis - Compiler Design
Lexical Analysis - Compiler DesignLexical Analysis - Compiler Design
Lexical Analysis - Compiler Design
Akhil Kaushik
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms I
Mohamed Loey
 
Compiler Construction
Compiler ConstructionCompiler Construction
Compiler Construction
Army Public School and College -Faisal
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler Design
Muhammed Afsal Villan
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dags
indhu mathi
 
Predictive parser
Predictive parserPredictive parser
Predictive parser
Jothi Lakshmi
 
Back patching
Back patchingBack patching
Back patching
santhiya thavanthi
 
Concurrency control
Concurrency controlConcurrency control
Concurrency control
Soumyajit Dutta
 
Top down parsing
Top down parsingTop down parsing
Top down parsing
ASHOK KUMAR REDDY
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
Iffat Anjum
 
Phases of compiler
Phases of compilerPhases of compiler
Phases of compiler
Akhil Kaushik
 
Parsing
ParsingParsing
Parsing
khush_boo31
 
Token, Pattern and Lexeme
Token, Pattern and LexemeToken, Pattern and Lexeme
Token, Pattern and Lexeme
A. S. M. Shafi
 
Recognition-of-tokens
Recognition-of-tokensRecognition-of-tokens
Recognition-of-tokens
Dattatray Gandhmal
 

Similar to compiler construction tool in computer science . (20)

Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
Dr. C.V. Suresh Babu
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
Akhil Kaushik
 
Compiler Design Introduction
Compiler Design Introduction Compiler Design Introduction
Compiler Design Introduction
Thapar Institute
 
JNTUA COMPILER DESIGN Notes.pdf,for all units
JNTUA COMPILER DESIGN Notes.pdf,for all unitsJNTUA COMPILER DESIGN Notes.pdf,for all units
JNTUA COMPILER DESIGN Notes.pdf,for all units
ravindracsebnl
 
Unit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptxUnit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptx
Guru Nanak Technical Institutions
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
Akhil Kaushik
 
Compiler Design Using Context-Free Grammar
Compiler Design Using Context-Free GrammarCompiler Design Using Context-Free Grammar
Compiler Design Using Context-Free Grammar
IRJET Journal
 
Compiler an overview
Compiler  an overviewCompiler  an overview
Compiler an overview
amudha arul
 
4_5802928814682016556.pptx
4_5802928814682016556.pptx4_5802928814682016556.pptx
4_5802928814682016556.pptx
AshenafiGirma5
 
Unit 1 part1 Introduction of Compiler Design.pptx
Unit 1 part1 Introduction of Compiler Design.pptxUnit 1 part1 Introduction of Compiler Design.pptx
Unit 1 part1 Introduction of Compiler Design.pptx
Neelkaranbind
 
CD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptxCD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptx
ZiyadMohammed17
 
Cd ch1 - introduction
Cd   ch1 - introductionCd   ch1 - introduction
Cd ch1 - introduction
mengistu23
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdf
JacobDragonette
 
Compiler Construction from very basic start
Compiler Construction from very basic startCompiler Construction from very basic start
Compiler Construction from very basic start
voyoc79528
 
Chapter 1.pptx compiler design lecture note
Chapter 1.pptx compiler design lecture noteChapter 1.pptx compiler design lecture note
Chapter 1.pptx compiler design lecture note
adugnanegero
 
Chapter#01 cc
Chapter#01 ccChapter#01 cc
Chapter#01 cc
abdulbaki3
 
Computer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptxComputer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptx
Firstjww Lastjsjs
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introduction
Rana Ehtisham Ul Haq
 
Principles of Compiler Design - Introduction
Principles of Compiler Design - IntroductionPrinciples of Compiler Design - Introduction
Principles of Compiler Design - Introduction
sheelarajasekar205
 
COMPILER DESIGN.pdf
COMPILER DESIGN.pdfCOMPILER DESIGN.pdf
COMPILER DESIGN.pdf
AdiseshaK
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
Akhil Kaushik
 
Compiler Design Introduction
Compiler Design Introduction Compiler Design Introduction
Compiler Design Introduction
Thapar Institute
 
JNTUA COMPILER DESIGN Notes.pdf,for all units
JNTUA COMPILER DESIGN Notes.pdf,for all unitsJNTUA COMPILER DESIGN Notes.pdf,for all units
JNTUA COMPILER DESIGN Notes.pdf,for all units
ravindracsebnl
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
Akhil Kaushik
 
Compiler Design Using Context-Free Grammar
Compiler Design Using Context-Free GrammarCompiler Design Using Context-Free Grammar
Compiler Design Using Context-Free Grammar
IRJET Journal
 
Compiler an overview
Compiler  an overviewCompiler  an overview
Compiler an overview
amudha arul
 
4_5802928814682016556.pptx
4_5802928814682016556.pptx4_5802928814682016556.pptx
4_5802928814682016556.pptx
AshenafiGirma5
 
Unit 1 part1 Introduction of Compiler Design.pptx
Unit 1 part1 Introduction of Compiler Design.pptxUnit 1 part1 Introduction of Compiler Design.pptx
Unit 1 part1 Introduction of Compiler Design.pptx
Neelkaranbind
 
CD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptxCD - CH1 - Introduction to compiler design.pptx
CD - CH1 - Introduction to compiler design.pptx
ZiyadMohammed17
 
Cd ch1 - introduction
Cd   ch1 - introductionCd   ch1 - introduction
Cd ch1 - introduction
mengistu23
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdf
JacobDragonette
 
Compiler Construction from very basic start
Compiler Construction from very basic startCompiler Construction from very basic start
Compiler Construction from very basic start
voyoc79528
 
Chapter 1.pptx compiler design lecture note
Chapter 1.pptx compiler design lecture noteChapter 1.pptx compiler design lecture note
Chapter 1.pptx compiler design lecture note
adugnanegero
 
Computer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptxComputer-System-Software_hhhGroup-3.pptx
Computer-System-Software_hhhGroup-3.pptx
Firstjww Lastjsjs
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introduction
Rana Ehtisham Ul Haq
 
Principles of Compiler Design - Introduction
Principles of Compiler Design - IntroductionPrinciples of Compiler Design - Introduction
Principles of Compiler Design - Introduction
sheelarajasekar205
 
COMPILER DESIGN.pdf
COMPILER DESIGN.pdfCOMPILER DESIGN.pdf
COMPILER DESIGN.pdf
AdiseshaK
 
Ad

Recently uploaded (20)

Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdfLittle Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
gori42199
 
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
ajayrm685
 
Modeling the Influence of Environmental Factors on Concrete Evaporation Rate
Modeling the Influence of Environmental Factors on Concrete Evaporation RateModeling the Influence of Environmental Factors on Concrete Evaporation Rate
Modeling the Influence of Environmental Factors on Concrete Evaporation Rate
Journal of Soft Computing in Civil Engineering
 
Personal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.pptPersonal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.ppt
ganjangbegu579
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
Using the Artificial Neural Network to Predict the Axial Strength and Strain ...
Using the Artificial Neural Network to Predict the Axial Strength and Strain ...Using the Artificial Neural Network to Predict the Axial Strength and Strain ...
Using the Artificial Neural Network to Predict the Axial Strength and Strain ...
Journal of Soft Computing in Civil Engineering
 
SICPA: Fabien Keller - background introduction
SICPA: Fabien Keller - background introductionSICPA: Fabien Keller - background introduction
SICPA: Fabien Keller - background introduction
fabienklr
 
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
ijflsjournal087
 
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdfSmart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
PawachMetharattanara
 
Slide share PPT of NOx control technologies.pptx
Slide share PPT of  NOx control technologies.pptxSlide share PPT of  NOx control technologies.pptx
Slide share PPT of NOx control technologies.pptx
vvsasane
 
Uses of drones in civil construction.pdf
Uses of drones in civil construction.pdfUses of drones in civil construction.pdf
Uses of drones in civil construction.pdf
surajsen1729
 
Artificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptxArtificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptx
rakshanatarajan005
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Journal of Soft Computing in Civil Engineering
 
Agents chapter of Artificial intelligence
Agents chapter of Artificial intelligenceAgents chapter of Artificial intelligence
Agents chapter of Artificial intelligence
DebdeepMukherjee9
 
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
AI Publications
 
2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt
rakshaiya16
 
acid base ppt and their specific application in food
acid base ppt and their specific application in foodacid base ppt and their specific application in food
acid base ppt and their specific application in food
Fatehatun Noor
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdfLittle Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
gori42199
 
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
ajayrm685
 
Personal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.pptPersonal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.ppt
ganjangbegu579
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
SICPA: Fabien Keller - background introduction
SICPA: Fabien Keller - background introductionSICPA: Fabien Keller - background introduction
SICPA: Fabien Keller - background introduction
fabienklr
 
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
ijflsjournal087
 
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdfSmart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
PawachMetharattanara
 
Slide share PPT of NOx control technologies.pptx
Slide share PPT of  NOx control technologies.pptxSlide share PPT of  NOx control technologies.pptx
Slide share PPT of NOx control technologies.pptx
vvsasane
 
Uses of drones in civil construction.pdf
Uses of drones in civil construction.pdfUses of drones in civil construction.pdf
Uses of drones in civil construction.pdf
surajsen1729
 
Artificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptxArtificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptx
rakshanatarajan005
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
Agents chapter of Artificial intelligence
Agents chapter of Artificial intelligenceAgents chapter of Artificial intelligence
Agents chapter of Artificial intelligence
DebdeepMukherjee9
 
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
AI Publications
 
2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt
rakshaiya16
 
acid base ppt and their specific application in food
acid base ppt and their specific application in foodacid base ppt and their specific application in food
acid base ppt and their specific application in food
Fatehatun Noor
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
Ad

compiler construction tool in computer science .

  • 1. MODERN INSTITUTE OF ENGINEERING& TECHNOLOGY NAME– RANITHALDER SUBJECT– compilerdesigning REGNO.– 212690100110017 ROLLNO.– 26900121016 YEAR– 3rD YEAR SEM– 5th SEM DEPT– COMPUTERSCIENCE ANDENGINEERING Compiler construction tool
  • 2. ACKNOWLEDGMENTS I WOULDLIKETO EXPRESS MY SPECIALTHANKS TO MY TEACHER(rimpa Ghosh)WHO GAVE ME THE GOLDENOPPORTUNITYTO DO THISWONDERFULPROJECTON THE TOPIC(compiler construction tool) .WHICH HELPEDME TO DO A LOTS OF RESEARCH AND I CAME TO KNOWABOUT SO MANYNEWTHINGS.IAM REALLY THANKFULTO THEM. SECONDLY, I WOULDLIKETO THANKSMY FRIENDs & parents WHOHELPEDME IN DOINGTHIS PROJECTWITHINLIMITEDTIMEFRAME.
  • 3. introduction Compiler construction tools are a set of software programs that are used to convert source code into executable code. These tools are an essential part of the software development process, as they help developers write code more efficiently and accurately. Without compiler construction tools, developers would have to manually translate every line of code into machine- readable instructions. This would be an incredibly time- consuming and error-prone process, which is why compiler construction tools are so important.
  • 4. What is compiler construction tool? The compiler writer can use some specialized tools that help in implementing various phases of a compiler. These tools assist in the creation of an entire compiler or its parts. These are called compiler construction tools.
  • 5. List of compiler construction tools 1.Parser Generator – It produces syntax analyzers (parsers) from the input that is based on a grammatical description of programming language or on a context-free grammar. It is useful as the syntax analysis phase is highly complex and consumes more manual and compilation time. Example: PIC, EQM
  • 6. 2.Scanner Generator – It generates lexical analyzers from the input that consists of regular expression description based on tokens of a language. It generates a finite automaton to recognize the regular expression. Example: Lex
  • 7. 3.Syntax directed translation engines – It generates intermediate code with three address format from the input that consists of a parse tree. These engines have routines to traverse the parse tree and then produces the intermediate code. In this, each node of the parse tree is associated with one or more translations. 4.Automatic code generators – It generates the machine language for a target machine. Each operation of the intermediate language is translated using a collection of rules and then is taken as an input by the code generator. A template matching process is used. An intermediate language statement is replaced by its equivalent machine language statement using templates.
  • 8. 5.Data-flow analysis engines – It is used in code optimization. Data flow analysis is a key part of the code optimization that gathers the information, that is the values that flow from one part of a program to another. Refer – data flow analysis in Compiler 6.Compiler construction toolkits – It provides an integrated set of routines that aids in building compiler components or in the construction of various phases of compiler.
  • 9. Features of compiler construction tools : • Lexical Analyzer Generator: This tool helps in generating the lexical analyzer or scanner of the compiler. It takes as input a set of regular expressions that define the syntax of the language being compiled and produces a program that reads the input source code and tokenizes it based on these regular expressions. • Parser Generator: This tool helps in generating the parser of the compiler. It takes as input a context-free grammar that defines the syntax of the language being compiled and produces a program that parses the input tokens and builds an abstract syntax tree. • Code Generation Tools: These tools help in generating the target code for the compiler. They take as input the abstract syntax tree produced by the parser and produce code that can be executed on the target machine.
  • 10. Features … • Optimization Tools: These tools help in optimizing the generated code for efficiency and performance. They can perform various optimizations such as dead code elimination, loop optimization, and register allocation. • Debugging Tools: These tools help in debugging the compiler itself or the programs that are being compiled. They can provide debugging information such as symbol tables, call stacks, and runtime errors. • Profiling Tools: These tools help in profiling the compiler or the compiled code to identify performance bottlenecks and optimize the code accordingly. • Documentation Tools: These tools help in generating documentation for the compiler and the programming language being compiled. They can generate documentation for the syntax, semantics, and usage of the language. • Language Support: Compiler construction tools are designed to support a wide range of programming languages, including high-level languages such as C++, Java, and Python, as well as low-level languages such as assembly language. • Cross-Platform Support: Compiler construction tools may be designed to work on multiple platforms, such as Windows, Mac, and Linux. • User Interface: Some compiler construction tools come with a user interface that makes it easier for developers to work with the compiler and its associated tools
  • 11. Conclusion • In conclusion, compiler construction tools are essential for software developers to create efficient and error-free code. These tools help automate the process of translating high-level programming languages into machine code, making it easier for developers to focus on building great software. • We've discussed different types of compiler construction tools, such as lexical analyzers, parsers, and code generators, and highlighted some of the most popular tools like Flex, Bison, and LLVM. We've also explored some of the challenges that arise in the process of compiler construction, such as handling errors and optimizing code.
  • 12. Reference • Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman - Second Edition, 2007 • Muchnick, Steven (1997). Advanced Compiler Design and Implementation • Compilers: Principles, Techniques, and Tools[1] is a computer science textbook by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman about compiler construction for programming languages.
  翻译: