Главная страница

Разработка компилятора модельного языка. Отчет. Пояснительная записка гоу огу 230105. 60. 11. 06 O руководитель работы Ишакова Е. Н. " " 2011г. Исполнитель


Скачать 1.59 Mb.
НазваниеПояснительная записка гоу огу 230105. 60. 11. 06 O руководитель работы Ишакова Е. Н. " " 2011г. Исполнитель
АнкорРазработка компилятора модельного языка
Дата04.10.2020
Размер1.59 Mb.
Формат файлаdoc
Имя файлаОтчет.doc
ТипПояснительная записка
#140979
страница7 из 8
1   2   3   4   5   6   7   8



Здесь используются следующие обозначения:

(0,…) –лексема указывает на метку перехода;

(2,…) – лексема содержится в таблице ограничителей;

(3,…) – лексема содержится в таблице чисел;

(4,…) – лексема содержится в таблице переменных;

(5,…) – лексема содержится в таблице адресов переменных;

Процесс интерпретации программы на модельном языке М, записанной в форме ПОЛИЗа, показан в таблице 15.
Таблица 15 – Ход интерпретации ПОЛИЗа программы

Стек


Текущий элемент ПОЛИЗа

Операция


Таблицы

переменных

адреса

значения

пуст

0

адрес n - в стек

1) i

2) n

3) f

1) -

2) -

3)-

2

1

значение 3 - в стек

1) i

2) n

3) f

1) -

2) -

3)-

2;3

2

присвоить 2-му элементу таблицы число 3

1) i

2) n

3) f

1) -

2) 3

3)-

пуст

3

адрес f - в стек

1) i

2) n

3) f

1) -

2) 3

3)-

3

4

значение 1 - в стек

1) i

2) n

3) f

1) -

2) 3

3)-

3;1

5

присвоить 3-му элементу таблицы число 1

1) i

2) n

3) f

1) -

2) 3

3)1

пуст

6

адрес i - в стек

1) i

2) n

3) f

1) -

2) 3

3)1

1

7

значение 1- в стек

1) i

2) n

3) f

1) -

2) 3

3) 1

1;1

8

присвоить 1-му элементу таблицы число 1

1) i

2) n

3) f

1) 1

2) 3

3)1

пуст

9

значение переменной 1 - в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

1

10

значение переменной 2 - в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

1;2

11

в стек – true, т.к. 1<=3

1) i

2) n

3) f

1) 1

2) 3

3)1

true

12

метка 25 - в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

true;25

13

переход, к следующему элементу

ПОЛИЗа, т.к. условие истинно

1) i

2) n

3) f

1) 1

2) 3

3)1

пуст

14

адрес f- в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

3

15

значение переменной f- в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

3;1

16

значение переменной i- в стек

1) i

2) n

3) f

1) 1

2) 3

3)1


Продолжение таблицы 15


3;1;1

17

извлечь из стека 1 и 1 и поместить в стек их произведение

1) i

2) n

3) f

1) 1

2) 3

3)1

3;1

18

присвоить 3-му элементу таблицы число 1

1) i

2) n

3) f

1) 1

2) 3

3)1

пуст

19

адрес i- в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

1

20

значение переменной i - в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

1;1

21

число 1 – в стек

1) i

2) n

3) f

1) 1

2) 3

3)1

1;1;1

22

извлечь из стека 1 и 1 и поместить в стек их сумму

1) i

2) n

3) f

1) 1

2) 3

3)1

1;2

23

присвоить 1-му элементу таблицы число 2

1) i

2) n

3) f

1) 2

2) 3

3)1

пуст

24

метка 8 в стек

1) i

2) n

3) f

1) 2

2) 3

3)1

8

25

переход к элементу

ПОЛИЗа, с номером, извлекаемым из вершины стека

1) i

2) n

3) f

1) 2

2) 3

3)1

пуст

8

значение переменной i - в стек

1) i

2) n

3) f

1) 2

2) 3

3)1

2

9

значение переменной n - в стек

1) i

2) n

3) f

1) 2

2) 3

3)1

2;3

10

в стек – true, т.к. 2<=3

1) i

2) n

3) f

1) 2

2) 3

3)1

true

11

метка 25 – в стек

1) i

2) n

3) f

1) 2

2) 3

3)1

true;25

12

переход, к следующему элементу

ПОЛИЗа, т.к. условие истинно

1) i

2) n

3) f

1) 2

2) 3

3)1

пуст

13

адрес переменной f - в стек

1) i

2) n

3) f

1) 2

2) 3

3)1

3

14

значение переменной f - в стек

1) i

2) n

3) f

1) 2

2) 3

3)1

3,1

15

значение переменной i - в стек

1) i

2) n

3) f

1) 2

2) 3

3)1


Продолжение таблицы 15

3,1,2

16

Перемножение верхних элементов стека

1) i

2) n

3) f

1) 2

2) 3

3)1

3,2

17

Запись значения в адрес 3

1) i

2) n

3) f

1) 2

2) 3

3)2

пуст

18

адрес i- в стек

1) i

2) n

3) f

1) 2

2) 3

3)2

1

19

значение переменной i - в стек

1) i

2) n

3) f

1) 2

2) 3

3)2

1,2

20

число 1 – в стек

1) i

2) n

3) f

1) 2

2) 3

3)2

1,2,1

21

извлечь из стека 2 и 1 и поместить в стек их сумму

1) i

2) n

3) f

1) 2

2) 3

3)2

1,3

22

Запись значения в адрес 1

1) i

2) n

3) f

1) 3

2) 3

3)2

пуст

23

метка 8 в стек

1) i

2) n

3) f

1) 3

2) 3

3)2

8

24

переход к элементу

ПОЛИЗа, с номером, извлекаемым из вершины стека

1) i

2) n

3) f

1) 3

2) 3

3)2

пуст

8

значение переменной i - в стек

1) i

2) n

3) f

1) 3

2) 3

3)2

3

9

значение переменной n - в стек

1) i

2) n

3) f

1) 3

2) 3

3)2

3,3

10

в стек – true, т.к. 3<=3

1) i

2) n

3) f

1) 3

2) 3

3)2

true

11

метка 25 – в стек

1) i

2) n

3) f

1) 3

2) 3

3)2

true,25

12

переход, к следующему элементу

ПОЛИЗа, т.к. условие истинно

1) i

2) n

3) f

1) 3

2) 3

3)2

пуст

13

адрес переменной f - в стек

1) i

2) n

3) f

1) 3

2) 3

3)2

3

14

значение переменной f - в стек

1) i

2) n

3) f

1) 3

2) 3

3)2

3,2

15

значение переменной i - в стек

1) i

2) n

3) f

1) 3

2) 3

3)2

3,2,3

16

Перемножение верхних элементов стека

1) i

2) n

3) f

1) 3

2) 3

3)2

3,6

17

Запись значения в адрес 3

1) i

2) n

3) f

1) 3

2) 3

3)6


Продолжение таблицы 15

пуст

18

адрес i- в стек

1) i

2) n

3) f

1) 3

2) 3

3)6

1

19

Значение переменной i - в стек

1) i

2) n

3) f

1) 3

2) 3

3)6

1,3

20

число 1 – в стек

1) i

2) n

3) f

1) 3

2) 3

3)6

1,3,1

21

извлечь из стека 3 и 1 и поместить в стек их сумму

1) i

2) n

3) f

1) 3

2) 3

3)2

1,4

22

Запись значения в адрес 1

1) i

2) n

3) f

1) 4

2) 3

3)2

пуст

23

метка 8 в стек

1) i

2) n

3) f

1)4

2) 3

3)6

8

24

переход к элементу

ПОЛИЗа, с номером, извлекаемым из вершины стека

1) i

2) n

3) f

1) 4

2) 3

3)6

пуст

8

Значение переменной i - в стек

1) i

2) n

3) f

1) 4

2) 3

3)6

1

9

Значение переменной n - в стек

1) i

2) n

3) f

1) 4

2) 3

3)6

1,4

10

в стек – false, т.к. 4 >3

1) i

2) n

3) f

1) 4

2) 3

3)6

false

11

метка 25 – в стек

1) i

2) n

3) f

1) 4

2) 3

3)6

25

12

переход, к элементу 25 из стека, т.к. условие ложно

1) i

2) n

3) f

1) 4

2) 3

3)6

пуст

25

Значение переменной f - в стек

1) i

2) n

3) f

1) 4

2) 3

3)6

6

26

вывести на экран число из верхушки стека

1) i

2) n

3) f

1) 4

2) 3

3)6


1   2   3   4   5   6   7   8


написать администратору сайта