🗊Презентация Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми

Нажмите для полного просмотра!
Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №1Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №2Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №3Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №4Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №5Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №6Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №7Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №8Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №9Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №10Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №11Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №12Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №13Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №14Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №15Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №16Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №17Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №18Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №19Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №20Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №21Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №22Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №23

Вы можете ознакомиться и скачать презентацию на тему Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми. Доклад-сообщение содержит 23 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тема 7: ІНТЕРПРЕТАЦІЯ
1. SPL-процесор
2. Виконання SPL-програми
3. Алгоритм створення SPL-програми 
4. Приклад проміжного коду для SPL програми
5. Розробка компілятора SPL для платформи . NET
Описание слайда:
Тема 7: ІНТЕРПРЕТАЦІЯ 1. SPL-процесор 2. Виконання SPL-програми 3. Алгоритм створення SPL-програми 4. Приклад проміжного коду для SPL програми 5. Розробка компілятора SPL для платформи . NET

Слайд 2





1. SPL-процесор
Описание слайда:
1. SPL-процесор

Слайд 3





SPL-процесор має:

пам‘ять SPL-програми, що моделюється глобальними даними:
масив TCD (таблиця команд);
adrnm- адреса головної програми, точка 	входу в 	головну програму;
cpnm- кількість параметрів  головної  програми;
cgv- кількість глобальних змінних;
пам‘ять даних, що моделюється стеком st (масив), де містяться значення всіх даних в процесі інтерпретації.
 Використовуються покажчики (індекси масивів):
t-вершини стека st,
sp – початок області локальних даних функції 		(запису активації),
p – поточної команди в TCD.
Описание слайда:
SPL-процесор має: пам‘ять SPL-програми, що моделюється глобальними даними: масив TCD (таблиця команд); adrnm- адреса головної програми, точка входу в головну програму; cpnm- кількість параметрів головної програми; cgv- кількість глобальних змінних; пам‘ять даних, що моделюється стеком st (масив), де містяться значення всіх даних в процесі інтерпретації. Використовуються покажчики (індекси масивів): t-вершини стека st, sp – початок області локальних даних функції (запису активації), p – поточної команди в TCD.

Слайд 4





Запис активації містить 
значення фактичних параметрів р1, р2,..., рn;
кількість параметрів   n; 
адреса повернення в TCD (адреса команди виклику);
адреса попереднього запису активації в стеку (звідки відбувся виклик функції); 
локальні та тимчасові дані, що використовуються при обчисленні цього виклику функції.
Описание слайда:
Запис активації містить значення фактичних параметрів р1, р2,..., рn; кількість параметрів n; адреса повернення в TCD (адреса команди виклику); адреса попереднього запису активації в стеку (звідки відбувся виклик функції); локальні та тимчасові дані, що використовуються при обчисленні цього виклику функції.

Слайд 5





Стек ST
Описание слайда:
Стек ST

Слайд 6


Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №6
Описание слайда:

Слайд 7





Файл protot.h має опис кодів команд та структури команди SPL–процесора:

enum {OPR=1,LIT,LDE, LDI, STE, STI, CAL, INI, JMP, JMC};
typedef struct {
		 int code;
		 int opd;
	       } cmd;
cmd TCD[300];
Описание слайда:
Файл protot.h має опис кодів команд та структури команди SPL–процесора: enum {OPR=1,LIT,LDE, LDI, STE, STI, CAL, INI, JMP, JMC}; typedef struct { int code; int opd; } cmd; cmd TCD[300];

Слайд 8





Коди операцій:
OPR — виконати операцію а над вершиною стеку; 
LIT — завантажити в стек константу a; 
LDE, LDI — записати в стек значення глобальної (локальної) змінної зі зміщенням a;
STE, STI — запам'ятати значення вершини стека в глобальній (локальній) змінній зі зміщенням а;
CAL — викликати функцію з точкою входу a; 
INI — збільшити t на a (виділення пам'яті); 
JMP — здійснити безумовний перехід на команду a; 
JMC — виконати умовний перехід на команду a, якщо верхній елемент стека менший чи рівний нулю (цей елемент вилучається зі стека).
Описание слайда:
Коди операцій: OPR — виконати операцію а над вершиною стеку; LIT — завантажити в стек константу a; LDE, LDI — записати в стек значення глобальної (локальної) змінної зі зміщенням a; STE, STI — запам'ятати значення вершини стека в глобальній (локальній) змінній зі зміщенням а; CAL — викликати функцію з точкою входу a; INI — збільшити t на a (виділення пам'яті); JMP — здійснити безумовний перехід на команду a; JMC — виконати умовний перехід на команду a, якщо верхній елемент стека менший чи рівний нулю (цей елемент вилучається зі стека).

Слайд 9





У команді з кодом OPR допустимі операції:
а = 1 – ввести в стек число з stdin; 
а = 2 – вивести верхнє значення зі стека в 		stdout; 
а = 3,…,7 – виконати над двома верхніми 	елементами стека операцію +, —, *, /, %; 
а = 8 –змінити знак верхнього елемента стека; 
а = 9 –повернутися в функції (результат 	розміщується у верхньому елементі стека);
а = 10 – зупинити виконання SPL-програми.
Описание слайда:
У команді з кодом OPR допустимі операції: а = 1 – ввести в стек число з stdin; а = 2 – вивести верхнє значення зі стека в stdout; а = 3,…,7 – виконати над двома верхніми елементами стека операцію +, —, *, /, %; а = 8 –змінити знак верхнього елемента стека; а = 9 –повернутися в функції (результат розміщується у верхньому елементі стека); а = 10 – зупинити виконання SPL-програми.

Слайд 10





2. Виконання SPL-програми

interp() – починає та завершує виконання SPL-програми, а також здійснює загальне керування. 
comman() – виконує поточну команду TCD[p]; 
operat (а) — виконує операцію OPR a; 
push (а) – заносить значення a в стек; 
read () – вводить число з stdin у стек.
Описание слайда:
2. Виконання SPL-програми interp() – починає та завершує виконання SPL-програми, а також здійснює загальне керування. comman() – виконує поточну команду TCD[p]; operat (а) — виконує операцію OPR a; push (а) – заносить значення a в стек; read () – вводить число з stdin у стек.

Слайд 11





// interp - початок: основний цикл //та завершення iтерпретацiї
Описание слайда:
// interp - початок: основний цикл //та завершення iтерпретацiї

Слайд 12





// comman - виконання команди TCD[p]
Описание слайда:
// comman - виконання команди TCD[p]

Слайд 13





// operat -виконання операцiї а 
// над вершиною стека
Описание слайда:
// operat -виконання операцiї а // над вершиною стека

Слайд 14


Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №14
Описание слайда:

Слайд 15





3. Алгоритм створення SPL-програми

Оператори мови SPL переводяться в проміжний код за таким принципом:
f(p1, p2,…,pk) begin DC spop end — b: {ini l} <spop> {opr 10} 
 константа або число v із значенням val — в {LIT val}
 глобальна змінна d із зміщен­ням а — в {LDE a}
 локальна змінна чи параметр d із зміщенням а — в {LDI a}
 виклик функції f(e1,e2,...,en) з точкою входу b — 
		в послідовність команд <e1><e2>...<en>{LIT n}{CAL b} 
вираз -е перекладається в	 <e>{OPR 8},
вираз e1 op e2 (де op — одна з операцій +, -, *, /, %) — в послідовність <e1><e2>{OPR a}, де a = 3, 4, 5, 6, 7.
Описание слайда:
3. Алгоритм створення SPL-програми Оператори мови SPL переводяться в проміжний код за таким принципом: f(p1, p2,…,pk) begin DC spop end — b: {ini l} <spop> {opr 10} константа або число v із значенням val — в {LIT val} глобальна змінна d із зміщен­ням а — в {LDE a} локальна змінна чи параметр d із зміщенням а — в {LDI a} виклик функції f(e1,e2,...,en) з точкою входу b — в послідовність команд <e1><e2>...<en>{LIT n}{CAL b} вираз -е перекладається в <e>{OPR 8}, вираз e1 op e2 (де op — одна з операцій +, -, *, /, %) — в послідовність <e1><e2>{OPR a}, де a = 3, 4, 5, 6, 7.

Слайд 16





Оператори мови SPL переводяться в проміжний код за таким принципом:

Оператор присвоєння d=е, де d — змінна із зміщенням а, перекладається в код   
            <e>{STE a} — для глобальної змінної d                       		<е>{SТІ а} — для локальної змінної 
     Оператор введення read d замінюється на 
                     {OPR 1} {STE a} —для глобальної змінної 
                     {OPR l}{STI a} —для локальної змінної  
Оператор print е перекладається  в     —  <e> {OPR 2}
Оператор return e      —                 	 <e> {OPR 9}
Оператор if e then s end  —        		 <e> {JMC l} <s>  l:
Оператор  while е do s end — 
                                              lb: <е> {JMC l} <s> {JMP lb} l:
Описание слайда:
Оператори мови SPL переводяться в проміжний код за таким принципом: Оператор присвоєння d=е, де d — змінна із зміщенням а, перекладається в код <e>{STE a} — для глобальної змінної d <е>{SТІ а} — для локальної змінної Оператор введення read d замінюється на {OPR 1} {STE a} —для глобальної змінної {OPR l}{STI a} —для локальної змінної Оператор print е перекладається в — <e> {OPR 2} Оператор return e — <e> {OPR 9} Оператор if e then s end — <e> {JMC l} <s> l: Оператор while е do s end — lb: <е> {JMC l} <s> {JMP lb} l:

Слайд 17





4. Приклад проміжного коду для SPL програми
Описание слайда:
4. Приклад проміжного коду для SPL програми

Слайд 18


Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №18
Описание слайда:

Слайд 19


Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми, слайд №19
Описание слайда:

Слайд 20





5. Розробка компілятора SPL для платформи . NET
Описание слайда:
5. Розробка компілятора SPL для платформи . NET

Слайд 21





Програмна модель
Описание слайда:
Програмна модель

Слайд 22





Запуск і виконання програми
Описание слайда:
Запуск і виконання програми

Слайд 23





exe файл у MSIL Disassembler
Описание слайда:
exe файл у MSIL Disassembler



Похожие презентации
Mypresentation.ru
Загрузить презентацию