System Programming and Application Programming, Language processing Activities
Size: 1.59 MB
Language: en
Added: Jan 06, 2022
Slides: 18 pages
Slide Content
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
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
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.
LANGUAGE PROCESSORS
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
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
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
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
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
Program Generating Activities Program Execution Activities Language Processing Activities
Program Specification Program in target PL errors specification gap Application program target PL execution Domain generator domain domain domain Program Generation Activities Program generator
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
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
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
The analysis of source program is done on the basis of three major specification of source language :- lexical rules are used for identifying the basic lexical unit in the source program syntax rules are used to identify the valid statement of the program Semantic rules represents the interpretation of the valid statement of the program Analysis Phase
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
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