This document discusses the differences between system programming and application programming. System programming involves writing low-level programs that interface with computer hardware, like compilers, loaders and linkers. Application programming involves writing high-level programs for end users, like word processors, spreadsheets and games. It also discusses language processors and how they bridge the gap between how a problem is described and how it is implemented on a computer by translating between a source and target programming language. Language processors analyze source code based on lexical, syntactic and semantic rules, and synthesize target code by allocating memory and generating target instructions.
1. CONTENTS TO BE DISCUSSED
DIFFERENCE BETWEEN SYSTEM
PROGRAMMING AND APPLICATION
PROGRAMMING
LANGUAGE PROCESSORS
Inderbir Kaur Sandhu
Assistant Professor
PG Department of Computer Science
GSSDGS Khalsa College, Patiala
Punjab, India
2. System programming
⚫ It is the collection of
components and art
or designing of a
given program.
⚫System program aims
to produce software
which provides service
to the computer
hardware.
⚫These are the set of
programs that view
computer as a tool for
solving a particular
problem.
⚫Application software is
a software that are
been used by the user .
SYSTEM PROGRAMMING v/s
APPLICATION PROGRAMMING
Application programming
3. ⚫System software that
executes the
application software. It
helps in executing the
application software.
⚫System programming is
used to write low level
instructions.
⚫Example:- loader, linker,
compiler.
⚫Application programming
is used to built
application software
which includes software
like notepad, calculator,
Microsoft excel and many
more.
⚫Application programming
is used to write high level
instructions.
Example:- library
management system,
calculator.
5. ⚫Language processor activities arises due to the
difference between the manner in which a software
designer describes the ideas concerning the behavior
of a software and the manner in which these ideas are
implemented in a computer system.
⚫The designer expresses the ideas in term related to
the application domain of the software. To implement
these ideas, their description has to be interpreted in
terms related to the execution domain.
INTRODUCTION
6. SEMANTIC GAP
Semantic gap leads to many problems such as:
1. Large development time
2.Large development efforts
3.Poor quality of software
SEMANTIC GAP
Application
domain
Execution
domain
7. Specification gap Execution gap
when a programming language(PL) are used to
bridge the gap between application domain and
execution domain , a new type of domain comes
into existence. This is known as programming
language (PL) domain.
Specification and Execution
Gaps
Application
domain
PL domain
Execution
domain
8. Specification Gap:- It is the semantic
gap between two specifications of the
same task
Execution Gap:- It is the gap between
the semantics of programs (that
perform the same task) written in
different programming languages.
Specification and Execution
Gaps
9. ⚫A language processor is a software which
bridges a specification gap or execution
gap.
⚫The program form input to a language
processor as the source program and to its
output as the target program.
⚫The language in which these programs are
written are called source language and
target language, respectively.
Language processors
11. Program
Specification Program in
target PL
errors
specification
gap
Application program target PL execution
Domain generator domain domain domain
Program Generation Activities
Program generator
12. ⚫ Two popular models for program execution are translation
and interpretation .
⚫ program translation:-
⚫ errors data
source target
Program program
⚫ A program must be translated before it can be executed.
⚫ The translated program may be saved in a file. The saved
program may be executed repeatedly.
Program Execution Activities
translator m/c language
program
13. The interpreter on the other hand , read the source
program and stores it in its memory. Thereafter the
various statements are read one by one, their meaning
and corresponding actions are implemented. Such
action involves I/O actions.
PROGRAM INTERPRETATION
14. ⚫Language processing= Analysis of (SP) source
program + Synthesis of (TP) target program.
⚫Collection of LP components engaged in analysis a
source program as the analysis phase and components
engaged in synthesizing a target program constitute
the synthesis phase
Fundamentals of Language
Processing
15. ⚫The analysis of source program is done on the basis of
three major specification of source language :-
a) lexical rules are used for identifying the basic
lexical unit in the source program
b) syntax rules are used to identify the valid statement
of the program
c) Semantic rules represents the interpretation of the
valid statement of the program
Analysis Phase
16. • simple_interest=(Principal*rate*time)/100;
❑ lexical analysis identifies=,*and / as operators,100 as
constant and simple interest, principal , rate, time as
identifier.
❑Syntax analysis identifies the statement as an
assignment statement.
❑Semantic analysis represents the meaning of the
statement by assigning (Principal*rate*time)/100 to
simple_interest.
Example of Analysis phase
17. ❑The synthesis phase is concerned with the
construction of target language statements which
have the same meaning as a source statement.
❑It performs two main activities:
❖Creation of data structure in the target program
(memory allocation)
❖Generation of target code( code generation)
Synthesis Phase