Методические указания к лабораторным работам по курсу "Теория вычислительных процессов и структур". Домашова Д.В - 22 стр.

UptoLike

X 0 > 23 :F X X 1 + :+ 26 ! X 5 :=
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Для. меток вводится нулевой класс лексем, т.е. используется
обозначение р (0,р).
Составной оператор переводится в полиз по схеме:
begin S1; S2;...;Sn end ——> S1 S2... Sn
Пример -
begin read(a); write(a+l) end ——> aRal+W
Операторы ввода-вывода используют символы R и W,
которые относятся к ограничителям:
read(x) ——> xR write(x) ——> xW
Чтобы в конце ПОЛИЗа была точка, правило Р
переписывается в виде:
P::=program D`;B <ЗП(`.`)>
5.3 Хранение польской записи в памяти
Польская запись представляет собой массив из лексем
(n,k),где n - номер класса лексем, k - номер лексемы внутри
класса.
П
(2,1) (1,1)
Классы : n=0 – метки, n=1 – служебные слова, n=2 - знаки
операций , n=3 – числа, n=4 - идентификаторы (запись значений),
n=5 -имена (запись обозначений).
Польская запись очищена от всех служебных слов, кроме true
и false; от ограничителей остались лишь знаки операций и знаки
`:=`,`.`.
5.4 Интерпретатор ПОЛИ3а
П р о ц е д у р ы:
адр(1) функция выдает адрес ячейки, отведенной для лексемы
l;
сод(А) функция выдает содержимое ячейки с адресом А;
присв(А,х) в ячейку с адресом А заносится значение х;
inst(x) запись в стек;
ontst(x) считывание из стека.
Т е л о и н т е р п р е т а т о р а:
25
X    0    >     23   :F   X    X    1    +    :+      26    !   X    5    :=
11   12   13    14   15   16   17   18   19   20      21   22   23   24   25   26

     Для. меток вводится нулевой класс лексем, т.е. используется
обозначение р (0,р).
     Составной оператор переводится в полиз по схеме:
     begin S1; S2;...;Sn end ——> S1 S2... Sn
     Пример -
     begin read(a); write(a+l) end ——> aRal+W
     Операторы ввода-вывода используют символы R и W,
которые относятся к ограничителям:
     read(x) ——> xR                        write(x) ——> xW
     Чтобы в конце ПОЛИЗа была точка,                 правило Р
переписывается в виде:
     P::=program D`;B <ЗП(`.`)>

5.3 Хранение польской записи в памяти

       Польская запись представляет собой массив из лексем
(n,k),где n - номер класса лексем, k - номер лексемы внутри
класса.

      П     (1,1)                                  (2,1)



        Классы : n=0 – метки, n=1 – служебные слова, n=2 - знаки
операций , n=3 – числа, n=4 - идентификаторы (запись значений),
n=5 -имена (запись обозначений).
        Польская запись очищена от всех служебных слов, кроме true
и false; от ограничителей остались лишь знаки операций и знаки
`:=`,`.`.
5.4 Интерпретатор ПОЛИ3а

     П р о ц е д у р ы:
     адр(1) функция выдает адрес ячейки, отведенной для лексемы
                l;
      сод(А) функция выдает содержимое ячейки с адресом А;
      присв(А,х) в ячейку с адресом А заносится значение х;
      inst(x) запись в стек;
      ontst(x) считывание из стека.
       Т е л о и н т е р п р е т а т о р а:


                                                                     25