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. 2 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. 4 2. Program Execution • Two popular models for program execution are: 1. Program Translation 2. Program Interpretation 5 2.1 Program Translation Errors Source Program Translator m/c language 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. 7 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. 8 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 Source PC M.L. Errors Program Program + + 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