1.
2 Language Processing
Activities
The fundamental language processing activities divided into
two parts.
1. Program generation activities
2. Program execution activities
[Prog. Generation]
Specification Gap
Application
Domain
[Prog. Execution]
Execution Gap
PL
Execution
Domain
Domain
1
Language Processing
Activities
A program generation activity aims to generation of a
program. Source is the application domain and target is
the PL domain. It bridges specification gap.
A program execution activity aims to execute a program
written in PL. source is PL domain and target is
execution domain. It bridges execution gap.
1. Program Generation
Errors
Program
Specification
Program
Generator
Program
in target PL
The program generator is a software system which
accepts the specification of a program to be generated and
generates program in a the target PL.
This activity is done by program generator domain.
3
1. Program Generation
The generator domain is close to the application domain, it is
easy for the designer or programmer to write the specification
of the program to be generated.
A program generator is software that enables an individual to
create a program with less efforts and prog. Knowledge.
A user may only be required to specify the step or rules
required for the program and not need to write and code or
less code.
2. Program Execution
Two popular models for program execution are:
1. Program Translation
2. Program Interpretation
2.1 Program Translation
Errors
Source
Program
Translator
Translator
m/c
m/c language
language
program
program
Target
Program
The program translation model bridges the execution
gap by translating a program written in a PL called
source program(SP), into an equivalent program in the
machine language called target program(TP)
6
2.1 Program Translation
Characteristics of the program translation model are:
A program must be translated before it can be executed.
The translated program may be saved in file. The saved
program may be executed repeatedly.
A program must be retranslated following modifications.
2.2 Program Interpretation
It reads the source program and stores it in its memory.
During interpretation it takes a source statement,
determines its meaning, and performs actions like
computation and I/O which implement it.
2.2 Program Interpretation
In the program interpretation, the CPU use a program
counter(PC) to note the address of the next instruction to
be executed. This instruction is subjected to the
instruction execution cycle consisting following step:
1. Fetch the instruction
2. Decode the instruction to determine the operation to be
performed.
3. Execute the instruction.
9
2.2 Program Interpretation
At the end of the cycle. The PC is updated and the cycle
is repeated for the next instruction.
Thus, the PC can indicate which statement of the source
program is to be interpreted next.
Interpreter
Memory
CPU
Memory
PC
PC
Source
Source
PC
PC
M.L.
M.L.
Errors
Program
Program
Program
Program
++
++
Data
Data
Data
Data
10
MCQ
The _________ is a software system which
generates a program in the target PL.
A. Program Generator
B. Program Specification
C. Program Execution
D. program Interpretation
MCQ
The _________ is a software system which
generates a program in the target PL.
A. Program Generator
B. Program Specification
C. Program Execution
D. program Interpretation
MCQ
the CPU use ___________ to note the address of the
next instruction to be executed.
A. program counter(PC)
B. Pretty printer
C. static checker
D. None
MCQ
the CPU use ___________ to note the address of the
next instruction to be executed.
A. program counter(PC)
B. Pretty printer
C. static checker
D. None
MCQ
The Program generator _______ to convert _________
The _________ fetch, decode and execute instruction