Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
23 слайда
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
362.50 kB
Просмотров:
66
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Тема НТЕРПРЕТАЦ Я .](/documents_6/52f639cd91701c75309282297712fb7c/img0.jpg)
Содержание слайда: Тема 7: ІНТЕРПРЕТАЦІЯ
1. SPL-процесор
2. Виконання SPL-програми
3. Алгоритм створення SPL-програми
4. Приклад проміжного коду для SPL програми
5. Розробка компілятора SPL для платформи . NET
№2 слайд![. SPL-процесор](/documents_6/52f639cd91701c75309282297712fb7c/img1.jpg)
Содержание слайда: 1. SPL-процесор
№3 слайд![SPL-процесор ма пам ять](/documents_6/52f639cd91701c75309282297712fb7c/img2.jpg)
Содержание слайда: SPL-процесор має:
пам‘ять SPL-програми, що моделюється глобальними даними:
масив TCD (таблиця команд);
adrnm- адреса головної програми, точка входу в головну програму;
cpnm- кількість параметрів головної програми;
cgv- кількість глобальних змінних;
пам‘ять даних, що моделюється стеком st (масив), де містяться значення всіх даних в процесі інтерпретації.
Використовуються покажчики (індекси масивів):
t-вершини стека st,
sp – початок області локальних даних функції (запису активації),
p – поточної команди в TCD.
№4 слайд![Запис активац м стить](/documents_6/52f639cd91701c75309282297712fb7c/img3.jpg)
Содержание слайда: Запис активації містить
значення фактичних параметрів р1, р2,..., рn;
кількість параметрів n;
адреса повернення в TCD (адреса команди виклику);
адреса попереднього запису активації в стеку (звідки відбувся виклик функції);
локальні та тимчасові дані, що використовуються при обчисленні цього виклику функції.
№5 слайд![Стек ST](/documents_6/52f639cd91701c75309282297712fb7c/img4.jpg)
Содержание слайда: Стек ST
№6 слайд![](/documents_6/52f639cd91701c75309282297712fb7c/img5.jpg)
№7 слайд![Файл protot.h ма опис код в](/documents_6/52f639cd91701c75309282297712fb7c/img6.jpg)
Содержание слайда: Файл 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 виконати](/documents_6/52f639cd91701c75309282297712fb7c/img7.jpg)
Содержание слайда: Коди операцій:
OPR — виконати операцію а над вершиною стеку;
LIT — завантажити в стек константу a;
LDE, LDI — записати в стек значення глобальної (локальної) змінної зі зміщенням a;
STE, STI — запам'ятати значення вершини стека в глобальній (локальній) змінній зі зміщенням а;
CAL — викликати функцію з точкою входу a;
INI — збільшити t на a (виділення пам'яті);
JMP — здійснити безумовний перехід на команду a;
JMC — виконати умовний перехід на команду a, якщо верхній елемент стека менший чи рівний нулю (цей елемент вилучається зі стека).
№9 слайд![У команд з кодом OPR допустим](/documents_6/52f639cd91701c75309282297712fb7c/img8.jpg)
Содержание слайда: У команді з кодом OPR допустимі операції:
а = 1 – ввести в стек число з stdin;
а = 2 – вивести верхнє значення зі стека в stdout;
а = 3,…,7 – виконати над двома верхніми елементами стека операцію +, —, *, /, %;
а = 8 –змінити знак верхнього елемента стека;
а = 9 –повернутися в функції (результат розміщується у верхньому елементі стека);
а = 10 – зупинити виконання SPL-програми.
№10 слайд![. Виконання SPL-програми](/documents_6/52f639cd91701c75309282297712fb7c/img9.jpg)
Содержание слайда: 2. Виконання SPL-програми
interp() – починає та завершує виконання SPL-програми, а також здійснює загальне керування.
comman() – виконує поточну команду TCD[p];
operat (а) — виконує операцію OPR a;
push (а) – заносить значення a в стек;
read () – вводить число з stdin у стек.
№11 слайд![interp - початок основний](/documents_6/52f639cd91701c75309282297712fb7c/img10.jpg)
Содержание слайда: // interp - початок: основний цикл //та завершення iтерпретацiї
№12 слайд![comman - виконання команди](/documents_6/52f639cd91701c75309282297712fb7c/img11.jpg)
Содержание слайда: // comman - виконання команди TCD[p]
№13 слайд![operat -виконання операцi а](/documents_6/52f639cd91701c75309282297712fb7c/img12.jpg)
Содержание слайда: // operat -виконання операцiї а
// над вершиною стека
№14 слайд![](/documents_6/52f639cd91701c75309282297712fb7c/img13.jpg)
№15 слайд![. Алгоритм створення](/documents_6/52f639cd91701c75309282297712fb7c/img14.jpg)
Содержание слайда: 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](/documents_6/52f639cd91701c75309282297712fb7c/img15.jpg)
Содержание слайда: Оператори мови 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 слайд![. Приклад пром жного коду для](/documents_6/52f639cd91701c75309282297712fb7c/img16.jpg)
Содержание слайда: 4. Приклад проміжного коду для SPL програми
№18 слайд![](/documents_6/52f639cd91701c75309282297712fb7c/img17.jpg)
№19 слайд![](/documents_6/52f639cd91701c75309282297712fb7c/img18.jpg)
№20 слайд![. Розробка комп лятора SPL](/documents_6/52f639cd91701c75309282297712fb7c/img19.jpg)
Содержание слайда: 5. Розробка компілятора SPL для платформи . NET
№21 слайд![Програмна модель](/documents_6/52f639cd91701c75309282297712fb7c/img20.jpg)
Содержание слайда: Програмна модель
№22 слайд![Запуск виконання програми](/documents_6/52f639cd91701c75309282297712fb7c/img21.jpg)
Содержание слайда: Запуск і виконання програми
№23 слайд![exe файл у MSIL Disassembler](/documents_6/52f639cd91701c75309282297712fb7c/img22.jpg)
Содержание слайда: exe файл у MSIL Disassembler