SlideShare a Scribd company logo
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 computer program

More Related Content

What's hot

Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language Processing
Hemant Sharma
 
Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
Satyamevjayte Haxor
 
Compiler design
Compiler designCompiler design
Compiler design
Thakur Ganeshsingh Thakur
 
Unit 4 sp macro
Unit 4 sp macroUnit 4 sp macro
Unit 4 sp macro
Deepmala Sharma
 
Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)   Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)
Tasif Tanzim
 
Macro assembler
 Macro assembler Macro assembler
Macro assembler
Meghaj Mallick
 
Ch 4 linker loader
Ch 4 linker loaderCh 4 linker loader
Ch 4 linker loader
Malek Sumaiya
 
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
 
Assemblers
AssemblersAssemblers
Assemblers
Dattatray Gandhmal
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
Mukesh Tekwani
 
Direct linking loaders
Direct linking loadersDirect linking loaders
Direct linking loaders
Satyamevjayte Haxor
 
Linking in MS-Dos System
Linking in MS-Dos SystemLinking in MS-Dos System
Linking in MS-Dos System
Satyamevjayte Haxor
 
Unit 2
Unit 2Unit 2
Unit 2
pm_ghate
 
computer languages
computer languagescomputer languages
computer languages
Rajendran
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
Akhil Kaushik
 
Lexical Analysis - Compiler design
Lexical Analysis - Compiler design Lexical Analysis - Compiler design
Lexical Analysis - Compiler design
Aman Sharma
 
Macro Processor
Macro ProcessorMacro Processor
Macro Processor
Saranya1702
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
Bansari Shah
 
Input-Buffering
Input-BufferingInput-Buffering
Input-Buffering
Dattatray Gandhmal
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
Iffat Anjum
 

What's hot (20)

Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language Processing
 
Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
 
Compiler design
Compiler designCompiler design
Compiler design
 
Unit 4 sp macro
Unit 4 sp macroUnit 4 sp macro
Unit 4 sp macro
 
Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)   Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)
 
Macro assembler
 Macro assembler Macro assembler
Macro assembler
 
Ch 4 linker loader
Ch 4 linker loaderCh 4 linker loader
Ch 4 linker loader
 
Ch 3 Assembler in System programming
Ch 3 Assembler in System programming Ch 3 Assembler in System programming
Ch 3 Assembler in System programming
 
Assemblers
AssemblersAssemblers
Assemblers
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
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
 
Unit 2
Unit 2Unit 2
Unit 2
 
computer languages
computer languagescomputer languages
computer languages
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
 
Lexical Analysis - Compiler design
Lexical Analysis - Compiler design Lexical Analysis - Compiler design
Lexical Analysis - Compiler design
 
Macro Processor
Macro ProcessorMacro Processor
Macro Processor
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
 
Input-Buffering
Input-BufferingInput-Buffering
Input-Buffering
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
 

Similar to Life cycle of a computer program

Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to Compilers
Akhil Kaushik
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
Keerty Smile
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
PmarkNorcio
 
lce1 مترجمات.pptx
lce1 مترجمات.pptxlce1 مترجمات.pptx
lce1 مترجمات.pptx
SamiAAli44
 
Computer language
Computer languageComputer language
Computer language
WASEEM ARSLAN
 
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSCOMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONS
sonalikharade3
 
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
 
COMPILER DESIGN.docx
COMPILER DESIGN.docxCOMPILER DESIGN.docx
COMPILER DESIGN.docx
Revathiparamanathan
 
Assembler
AssemblerAssembler
Assembler
Suneel Dogra
 
Language processors
Language processorsLanguage processors
Language processors
Dr. B T Sampath Kumar
 
compiler vs interpreter
compiler vs interpretercompiler vs interpreter
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 languages
AqdasNoor
 
Computer languages
Computer languagesComputer languages
Computer languages
Buxoo Abdullah
 
La 5 Pl Translator
La 5   Pl TranslatorLa 5   Pl Translator
La 5 Pl Translator
Cma Mohd
 
Language processing system.pdf
Language processing system.pdfLanguage processing system.pdf
Language processing system.pdf
RakibRahman19
 
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
AnonymousQ3EMYoWNS
 
aditya malkani compiler.pptx
aditya malkani compiler.pptxaditya malkani compiler.pptx
aditya malkani compiler.pptx
WildVenomOP
 

Similar to Life cycle of a computer program (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
 
aditya malkani compiler.pptx
aditya malkani compiler.pptxaditya malkani compiler.pptx
aditya malkani compiler.pptx
 

Recently uploaded

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 

Recently uploaded (20)

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 

Life cycle of a computer program

  • 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