Разработка компиляторов. Ишакова Е.Н. - 33 стр.

UptoLike

Составители: 

33
Продолжение таблицы 2.5 – ПОЛИЗ исходной программы
Лексема
:=
b W
19 !
a W
.
(n, k) (2,5) (4,1) (2,21) (0,19) (2,18) (4,1) (2,21) (2,1)
Номер 12 13 14 15 16 17 18 19
Процесс интерпретации программы на модельном языке М, записанной в
форме ПОЛИЗа, показан в таблице 2.6.
Таблица 2.6 – Ход интерпретации ПОЛИЗа программы
Таблицы
переменных
Стек
Текущий
элемент
ПОЛИЗа
Операция
адреса значения
пуст 1 адрес - в стек
1) a
2) b
1) -
2) -
1 2
извлечь из стека номер элемента табли-
цы значений и записать по нему число 7
1) a
2) b
1) 7
2) -
пуст 3 значение - в стек
1) a
2) b
1) 7
2) -
7 4 значение - в стек
1) a
2) b
1) 7
2) -
7; 5 5 в стек – true, т.к. 7>5
1) a
2) b
1) 7
2) -
true 6 метка - в стек
1) a
2) b
1) 7
2) -
true; 6 7
переход, к следующему элементу
ПОЛИЗа, т.к. условие истинно
1) a
2) b
1) 7
2) -
пуст 8 адрес - в стек
1) a
2) b
1) 7
2) -
2 9 значение переменной - в стек
1) a
2) b
1) 7
2) -
2; 7 10 число - в стек
1) a
2) b
1) 7
2) -
2; 7; 3 11
извлечь из стека 3 и 7 и поместить в стек
их сумму
1) a
2) b
1) 7
2) -
2; 10 12
присвоить второму элементу таблицы
значений число 10
1) a
2) b
1) 7
2) 10
пуст 13 значениев стек
1) a
2) b
1) 7
2) 10
10 14
вывести на экран число из «верхушки
стека»
1) a
2) b
1) 7
2) 10
Продолжение таблицы 2.6 – Ход интерпретации ПОЛИЗа программы
        Продолжение таблицы 2.5 – ПОЛИЗ исходной программы
       Лексема :=       b     W      19      !     a     W      .
         (n, k) (2,5) (4,1) (2,21) (0,19) (2,18) (4,1) (2,21) (2,1)
      Номер      12    13     14     15     16    17     18    19
     Процесс интерпретации программы на модельном языке М, записанной в
форме ПОЛИЗа, показан в таблице 2.6.
     Таблица 2.6 – Ход интерпретации ПОЛИЗа программы
       Текущий                                                      Таблицы
Стек   элемент                     Операция                       переменных
       ПОЛИЗа                                                   адреса значения
                                                                 1) a     1) -
пуст          1                   адрес - в стек
                                                                 2) b     2) -
                     извлечь из стека номер элемента табли-      1) a     1) 7
  1           2
                     цы значений и записать по нему число 7      2) b     2) -
                                                                 1) a     1) 7
пуст          3                 значение - в стек
                                                                 2) b     2) -
                                                                 1) a     1) 7
  7           4                 значение - в стек
                                                                 2) b     2) -
                                                                 1) a     1) 7
 7; 5         5               в стек – true, т.к. 7>5
                                                                 2) b     2) -
                                                                 1) a     1) 7
 true         6                  метка - в стек
                                                                 2) b     2) -
                        переход, к следующему элементу           1) a     1) 7
true; 6       7
                         ПОЛИЗа, т.к. условие истинно            2) b     2) -
                                                                 1) a     1) 7
пуст          8                   адрес - в стек
                                                                 2) b     2) -
                                                                 1) a     1) 7
  2           9           значение переменной - в стек
                                                                 2) b     2) -
                                                                 1) a     1) 7
 2; 7        10                  число - в стек
                                                                 2) b     2) -
                    извлечь из стека 3 и 7 и поместить в стек    1) a     1) 7
2; 7; 3      11
                                   их сумму                      2) b     2) -
                     присвоить второму элементу таблицы          1) a     1) 7
2; 10        12
                               значений число 10                 2) b     2) 10
                                                                 1) a     1) 7
пуст         13                значение – в стек
                                                                 2) b     2) 10
                      вывести на экран число из «верхушки        1) a     1) 7
  10         14
                                     стека»                      2) b     2) 10

        Продолжение таблицы 2.6 – Ход интерпретации ПОЛИЗа программы
                                                                           33