SlideShare una empresa de Scribd logo
1 de 16
Presentation On Topic
Life cycle of a souce program
Presented By - Abhay Kumar
MCA IVth Semester
Life cycle of a souce program
• A computer program goes through many phases from its development to execution. From
the human readable format (source code) to binary encoded computer instructions
(machine code).
• In life cycle of a source program the exact procedure behind the compilation task and
step by step evaluation of source code are High level languages, Low level languages,
Pre-processors, Translators, Compilers, Assembler, Interpreters, Linkers and Loaders.
Input
Translator
Linker
Loader
Target Program
Execution by
Hardware
Pre - processor
Sourse Program
Output
High level language
Pure High level language
Low level language
Executable Code
Load the program
Execution Process
Life cycle of a souce program
High level language
• High level languages are similar to the human language. Unlike low level languages, high
level languages are programmers friendly, easy to code, debug and maintain.
• High level language provides higher level of abstraction from machine language. They
do not interact directly with the hardware. Rather, they focus more on the complex
arithmetic operations, optimal program efficiency and easiness in coding.
• High level languages are very much closer to English language and uses English
structure for program coding.
• Examples of high level languages are Visual Basic, PHP, Python, Delphi, FORTRAN,
COBOL, C, Pascal, C++, LISP, BASIC etc.
High level language
Compiled Language
Interpreted
Language
Low level languages
• Low level languages are languages which can be directly understand by machines. It is
programming language having little or no abstraction. These languages are described as
close to hardware.
• Examples of low level languages are machine languages, binary language, assembly level
languages and object code etc.
Low level language
Assembley Language Machine Language
Source code
• Source code is a plain text file containing computer instructions written in human
readable format. It is simple text file written by programmers.
• It contain instructions in high-level language that the programmer intended to perform
by a program. Source code is later compiled and translated to Object code.
# include<stdio.h>
#include<conio.h>
void maid()
{
printf(“Hello Abhay”);
}
getch();
Object code
• Object code is a sequence of computer instructions in an intermediate language. It is generated
by compiler after the compilation process.
• The compiler reads source code written in high-level language and translates it to an
intermediate language.
• After translation a file containing instructions encoded in some intermediate language is
generated called object code.
101001010010
010101001010
101010001001
001110101001
110010010101
0010011011
# include<stdio.h>
#include<conio.h>
void maid()
{
printf(“Hello Abhay”);
}
getch();
Source Code Object Code
Compiler
Machine code
• Machine code is a set of computer instructions written or translated in machine
language.
• It is the final executable file generated by compiling, assembling or linking several
object files together. It is the only code executed by the CPU.
101001010010
010101001010
101010001001
001110101001
110010010101
0010011011
Machine Code
Pre-processor
• Pre-processor is a computer program that
manipulates its input data in order to generate
output which is ultimately used as input to some
other program or compiler.
• Input of pre-processor is high level languages and
output of pre-processor is pure high level
languages.
• Pure high level language refers to the language
which is having Macros in the program and File
Inclusion.
• Macro means some set of instructions which can
be used repeatedly in the program.
• Macro preprocessing task is done by pre-
processor. Pre-processor allows user to include
header files which may be required by program
known as File Inclusion.
Assembler
Linker/ Loader
Pre - processor
High level language
Pure High level language
Assembley Language
Executable Code
Machine Code
Compiler
Translator
• Translator is a program that takes input as a source program and converts it into another form as
output.
• Translator takes input as a high level language and convert it into low level language.
• There are mainly three types of translators -
 Compilers
 Assemblers
 Interpreters
High level language
Translator
Low Level Language
Errors
Compiler
• Compiler reads whole program at a time and generate errors (if occurred). Compiler generates
intermediate code in order to generate target code. Once the whole program is checked, errors
are displayed.
• Example of compilers is Borland Compiler, Turbo C Compiler. Generated target code is easy to
understand after the process of compilation.
• The process of compilation must be done efficiently. There are mainly two parts of compilation
process.
Source Code
Error Message
Compiler Target code
Assembler
• Assembler is a translator which takes assembly language as an input and generates
machine language as an output.
• Output of compiler is input of assembler which is assembly language. Assembly code is
mnemonic version of machine code.
• Binary codes for operations are replaced by names. Binary language or relocatable
machine code is generated from the assembler.
• Assembler uses two passes. Pass means one complete scan of the input program.
High Leve Language
Assembler
Compiler
Low Level Language
Assembley language
Machine code
Interpreter
• Interpreter performs the line by line execution of source code. It takes single instruction
as an input, reads the statement, analyzes it and executes it. It shows errors immediately
if occur .
• Interpreter is machine independent andwhich does not produces object code or
intermediate code as it directly generates the target code.
• Many languages can be implemented using both compilers and interpreters such as
BASIC, Python, C#, Pascal, Java, and Lisp etc.
• Example of interpreter is UPS Debugger.
Source Code Interpreter Target code
Linker and Loader
•Linker combines two or more separate object
programs. It combines target program with other
library routines.
•Linker links the library files and prepares single
module or file. Linker also solves the external
reference.
•Linker allows us tocreate single program from
several files.
•Loader is utility program which takes object code as
input and prepares it for execution. It also loads the
object code into executable code.
•Loader refers to initializing of execution process.
Tasks done by loaders are mentioned below.
Allocation
Relocation
Link editing
Loading
LinkerAssembler
Loader
Object Code
Executable code
Source Code
Refrences -
• http://www.rroij.com/open-access/life-cycle-of-source-program--compiler-design-.pdf
• https://codeforwin.org/2017/05/high-level-languages-advantages-disadvantages.html
Life cycle of a source program from development to execution

Más contenido relacionado

La actualidad más candente

Ch 3 Assembler in System programming
Ch 3 Assembler in System programming Ch 3 Assembler in System programming
Ch 3 Assembler in System programming Bhatt Balkrishna
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1Manoj Patil
 
Three address code In Compiler Design
Three address code In Compiler DesignThree address code In Compiler Design
Three address code In Compiler DesignShine Raj
 
System Programming- Unit I
System Programming- Unit ISystem Programming- Unit I
System Programming- Unit ISaranya1702
 
Dynamic memory allocation in c
Dynamic memory allocation in cDynamic memory allocation in c
Dynamic memory allocation in clavanya marichamy
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programmingMukesh Tekwani
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compilerIffat Anjum
 
Chap 1-language processor
Chap 1-language processorChap 1-language processor
Chap 1-language processorshindept123
 
32 dynamic linking nd overlays
32 dynamic linking nd overlays32 dynamic linking nd overlays
32 dynamic linking nd overlaysmyrajendra
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03desta_gebre
 

La actualidad más candente (20)

Unit 3 sp assembler
Unit 3 sp assemblerUnit 3 sp assembler
Unit 3 sp assembler
 
Assemblers
AssemblersAssemblers
Assemblers
 
Language processors
Language processorsLanguage processors
Language processors
 
Ch 3 Assembler in System programming
Ch 3 Assembler in System programming Ch 3 Assembler in System programming
Ch 3 Assembler in System programming
 
Macro-processor
Macro-processorMacro-processor
Macro-processor
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 
Direct linking loaders
Direct linking loadersDirect linking loaders
Direct linking loaders
 
Linking in MS-Dos System
Linking in MS-Dos SystemLinking in MS-Dos System
Linking in MS-Dos System
 
Design of a two pass assembler
Design of a two pass assemblerDesign of a two pass assembler
Design of a two pass assembler
 
Three address code In Compiler Design
Three address code In Compiler DesignThree address code In Compiler Design
Three address code In Compiler Design
 
System Programming- Unit I
System Programming- Unit ISystem Programming- Unit I
System Programming- Unit I
 
Dynamic memory allocation in c
Dynamic memory allocation in cDynamic memory allocation in c
Dynamic memory allocation in c
 
Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
 
Chap 1-language processor
Chap 1-language processorChap 1-language processor
Chap 1-language processor
 
32 dynamic linking nd overlays
32 dynamic linking nd overlays32 dynamic linking nd overlays
32 dynamic linking nd overlays
 
Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03
 
System calls
System callsSystem calls
System calls
 

Similar a Life cycle of a source program from development to execution

Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to CompilersAkhil Kaushik
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution pptKeerty Smile
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptxPmarkNorcio
 
lce1 مترجمات.pptx
lce1 مترجمات.pptxlce1 مترجمات.pptx
lce1 مترجمات.pptxSamiAAli44
 
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSCOMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSsonalikharade3
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design BasicsAkhil Kaushik
 
Compiler Design Introduction
Compiler Design Introduction Compiler Design Introduction
Compiler Design Introduction Thapar Institute
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)nharsh2308
 
Computer languages
Computer languagesComputer languages
Computer languagesAqdasNoor
 
La 5 Pl Translator
La 5   Pl TranslatorLa 5   Pl Translator
La 5 Pl TranslatorCma Mohd
 
Language processing system.pdf
Language processing system.pdfLanguage processing system.pdf
Language processing system.pdfRakibRahman19
 
Compiler Construction Lecture One .pptx
Compiler Construction Lecture One  .pptxCompiler Construction Lecture One  .pptx
Compiler Construction Lecture One .pptxانشال عارف
 
Week 08_Basics of Compiler Construction.pdf
Week 08_Basics of Compiler Construction.pdfWeek 08_Basics of Compiler Construction.pdf
Week 08_Basics of Compiler Construction.pdfAnonymousQ3EMYoWNS
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design BasicsAkhil Kaushik
 

Similar a Life cycle of a source program from development to execution (20)

Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to Compilers
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
 
lce1 مترجمات.pptx
lce1 مترجمات.pptxlce1 مترجمات.pptx
lce1 مترجمات.pptx
 
Computer language
Computer languageComputer language
Computer language
 
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSCOMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONS
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
 
Compiler Design Introduction
Compiler Design Introduction Compiler Design Introduction
Compiler Design Introduction
 
COMPILER DESIGN.docx
COMPILER DESIGN.docxCOMPILER DESIGN.docx
COMPILER DESIGN.docx
 
Assembler
AssemblerAssembler
Assembler
 
Language processors
Language processorsLanguage processors
Language processors
 
compiler vs interpreter
compiler vs interpretercompiler vs interpreter
compiler vs interpreter
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
 
Computer languages
Computer languagesComputer languages
Computer languages
 
Computer languages
Computer languagesComputer languages
Computer languages
 
La 5 Pl Translator
La 5   Pl TranslatorLa 5   Pl Translator
La 5 Pl Translator
 
Language processing system.pdf
Language processing system.pdfLanguage processing system.pdf
Language processing system.pdf
 
Compiler Construction Lecture One .pptx
Compiler Construction Lecture One  .pptxCompiler Construction Lecture One  .pptx
Compiler Construction Lecture One .pptx
 
Week 08_Basics of Compiler Construction.pdf
Week 08_Basics of Compiler Construction.pdfWeek 08_Basics of Compiler Construction.pdf
Week 08_Basics of Compiler Construction.pdf
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
 

Último

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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 WorkerThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Último (20)

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Life cycle of a source program from development to execution

  • 1. Presentation On Topic Life cycle of a souce program Presented By - Abhay Kumar MCA IVth Semester
  • 2. Life cycle of a souce program • A computer program goes through many phases from its development to execution. From the human readable format (source code) to binary encoded computer instructions (machine code). • In life cycle of a source program the exact procedure behind the compilation task and step by step evaluation of source code are High level languages, Low level languages, Pre-processors, Translators, Compilers, Assembler, Interpreters, Linkers and Loaders.
  • 3. Input Translator Linker Loader Target Program Execution by Hardware Pre - processor Sourse Program Output High level language Pure High level language Low level language Executable Code Load the program Execution Process Life cycle of a souce program
  • 4. High level language • High level languages are similar to the human language. Unlike low level languages, high level languages are programmers friendly, easy to code, debug and maintain. • High level language provides higher level of abstraction from machine language. They do not interact directly with the hardware. Rather, they focus more on the complex arithmetic operations, optimal program efficiency and easiness in coding. • High level languages are very much closer to English language and uses English structure for program coding. • Examples of high level languages are Visual Basic, PHP, Python, Delphi, FORTRAN, COBOL, C, Pascal, C++, LISP, BASIC etc. High level language Compiled Language Interpreted Language
  • 5. Low level languages • Low level languages are languages which can be directly understand by machines. It is programming language having little or no abstraction. These languages are described as close to hardware. • Examples of low level languages are machine languages, binary language, assembly level languages and object code etc. Low level language Assembley Language Machine Language
  • 6. Source code • Source code is a plain text file containing computer instructions written in human readable format. It is simple text file written by programmers. • It contain instructions in high-level language that the programmer intended to perform by a program. Source code is later compiled and translated to Object code. # include<stdio.h> #include<conio.h> void maid() { printf(“Hello Abhay”); } getch();
  • 7. Object code • Object code is a sequence of computer instructions in an intermediate language. It is generated by compiler after the compilation process. • The compiler reads source code written in high-level language and translates it to an intermediate language. • After translation a file containing instructions encoded in some intermediate language is generated called object code. 101001010010 010101001010 101010001001 001110101001 110010010101 0010011011 # include<stdio.h> #include<conio.h> void maid() { printf(“Hello Abhay”); } getch(); Source Code Object Code Compiler
  • 8. Machine code • Machine code is a set of computer instructions written or translated in machine language. • It is the final executable file generated by compiling, assembling or linking several object files together. It is the only code executed by the CPU. 101001010010 010101001010 101010001001 001110101001 110010010101 0010011011 Machine Code
  • 9. Pre-processor • Pre-processor is a computer program that manipulates its input data in order to generate output which is ultimately used as input to some other program or compiler. • Input of pre-processor is high level languages and output of pre-processor is pure high level languages. • Pure high level language refers to the language which is having Macros in the program and File Inclusion. • Macro means some set of instructions which can be used repeatedly in the program. • Macro preprocessing task is done by pre- processor. Pre-processor allows user to include header files which may be required by program known as File Inclusion. Assembler Linker/ Loader Pre - processor High level language Pure High level language Assembley Language Executable Code Machine Code Compiler
  • 10. Translator • Translator is a program that takes input as a source program and converts it into another form as output. • Translator takes input as a high level language and convert it into low level language. • There are mainly three types of translators -  Compilers  Assemblers  Interpreters High level language Translator Low Level Language Errors
  • 11. Compiler • Compiler reads whole program at a time and generate errors (if occurred). Compiler generates intermediate code in order to generate target code. Once the whole program is checked, errors are displayed. • Example of compilers is Borland Compiler, Turbo C Compiler. Generated target code is easy to understand after the process of compilation. • The process of compilation must be done efficiently. There are mainly two parts of compilation process. Source Code Error Message Compiler Target code
  • 12. Assembler • Assembler is a translator which takes assembly language as an input and generates machine language as an output. • Output of compiler is input of assembler which is assembly language. Assembly code is mnemonic version of machine code. • Binary codes for operations are replaced by names. Binary language or relocatable machine code is generated from the assembler. • Assembler uses two passes. Pass means one complete scan of the input program. High Leve Language Assembler Compiler Low Level Language Assembley language Machine code
  • 13. Interpreter • Interpreter performs the line by line execution of source code. It takes single instruction as an input, reads the statement, analyzes it and executes it. It shows errors immediately if occur . • Interpreter is machine independent andwhich does not produces object code or intermediate code as it directly generates the target code. • Many languages can be implemented using both compilers and interpreters such as BASIC, Python, C#, Pascal, Java, and Lisp etc. • Example of interpreter is UPS Debugger. Source Code Interpreter Target code
  • 14. Linker and Loader •Linker combines two or more separate object programs. It combines target program with other library routines. •Linker links the library files and prepares single module or file. Linker also solves the external reference. •Linker allows us tocreate single program from several files. •Loader is utility program which takes object code as input and prepares it for execution. It also loads the object code into executable code. •Loader refers to initializing of execution process. Tasks done by loaders are mentioned below. Allocation Relocation Link editing Loading LinkerAssembler Loader Object Code Executable code Source Code
  • 15. Refrences - • http://www.rroij.com/open-access/life-cycle-of-source-program--compiler-design-.pdf • https://codeforwin.org/2017/05/high-level-languages-advantages-disadvantages.html