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.
Introduction of presentation content focusing on differences between system programming, application programming, and language processors.
Definition of system programming focusing on components for design, producing software for hardware, and distinction from application software.
Discussion on system software execution for application software, with examples like loaders, compilers, and application software including notepad and Excel.
Introduction to language processors, their purpose in software design, and the differences in software execution and implementation.
Explanation of semantic gaps in software development leading to development time efficiency issues and software quality concerns.
Definition of specification gap and execution gap related to programming languages and discrepancies across different programming specifications.
Definition and functionality of language processors bridging specification and execution gaps with source and target programs.
Discussion on program generation and execution activities within language processing, illustrating the role of programs in generating and executing domains.
Overview of program execution models: translation and interpretation, detailing how the execution and storage of translated programs occurs.
Definition of language processing, analysis and synthesis components involved in processing source and target programs.
Explanation of the analysis phase focusing on lexical, syntax, and semantic rules to process source programs.
Overview of the synthesis phase which generates target program statements from source statements including memory allocation.
CONTENTS TO BEDISCUSSED
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
â« Itis 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
executesthe
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.
â«Language processor activitiesarises 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 gapleads 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 Executiongap
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:- Itis 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 processoris 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
Program
Specification Program in
targetPL
errors
specification
gap
Application program target PL execution
Domain generator domain domain domain
Program Generation Activities
Program generator
12.
â« Two popularmodels 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 onthe 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= Analysisof (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 ofsource 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;
â lexicalanalysis 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 phaseis 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