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

UptoLike

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

17
Рисунок 2.5 – Диаграмма состояний с действиями для модельного языка М
Шаг 2. Составляем функцию scanner для анализа текста исходной про-
граммы:
function scanner: boolean;
var CS
: (H, I, N, C, DV, O, V, ER);
begin gc; CS:=H;
repeat
gc, out(2, z)
‘ ‘
gc
gc, out(2, 5)
put(TN), out(3, z)
+
-
null, add, look(TL)
out(2, 4)
B=’CH’-‘0’, gc
digit
-
put(TI), out(4, z)
out(1, z) look(TW)
add, gc
let or digit
gc
‘.’
gc
gc
out(2, 1)
gc
B=10*B+’CH’-‘0’, gc
digit
null, add , gc
let
I
H
C
N
ER
DV
V
ER
z
0
z
0
‘:’
‘.’
‘{’ ‘}’
+
‘=’
     ‘ ‘
      gc
     H
                                 let or digit
                                   add, gc
            let                                                                           +
                                        I                           z≠0
           null, add , gc                       look(TW)                           out(1, z)
                                        digit
                                                                          -
                                                                              put(TI), out(4, z)
                                  B=10*B+’CH’-‘0’, gc
             digit
                                                N
            B=’CH’-‘0’, gc                                          put(TN), out(3, z)
                                        gc
                   ‘{’                                              ‘}’
                                    C
                    gc                       ‘.’                    gc
                                                      ER



                  ‘:’                                ‘=’
                                    DV
                  gc                                gc, out(2, 5)

                                                    out(2, 4)
                    ‘.’
                                        V

                  out(2, 1)

                                                                z≠0                   +
                  null, add, look(TL)                                           gc, out(2, z)
                                                                -                ER



  Рисунок 2.5 – Диаграмма состояний с действиями для модельного языка М
     Шаг 2. Составляем функцию scanner для анализа текста исходной про-
граммы:
     function scanner: boolean;
     var CS: (H, I, N, C, DV, O, V, ER);
     begin gc; CS:=H;
        repeat

                                                                                                   17