Основы трансляции. Рыбанов А.А. - 13 стр.

UptoLike

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

13
используется при семантических вычислениях. Для языка МИЛАН будем
использовать определения лексем, представленные в таблице 7. Заметим, что
при распознавании идентификаторов и констант лексическим анализатором
используются следующие правила грамматики: , ,
, .
Таким образом, в последовательности лексем идентификаторы и константы
становятся терминалами и грамматика языка упрощается.
Таблица 7
Таблица лексем
Название лексемы
Код
Запись в языке
Обозначение
Значение
Служебные слова:
BEGIN
DO
ELSE
END
ENDDO
ENDIF
IF
OUTPUT
READ
THEN
WHILE
1
2
3
4
5
6
7
8
9
10
11
BEGIN
DO
ELSE
END
ENDDO
ENDIF
IF
OUTPUT
READ
THEN
WHILE
BEGIN
DO
ELSE
END
ENDDO
ENDIF
IF
OUTPUT
READ
THEN
WHILE
0
0
0
0
0
0
0
0
0
0
0
Точка с запятой
12
;
tz
0
Знак отношения:
=
<>
>
<
>=
<=
13
=
<>
>
<
>=
<=
otn
k(=)=0
k(<>)=1
k(>)=2
k(<)=3
k(>=)=4
k(<=)=5
Операция типа сложения:
+
-
14
+
-
ots
k(+)=0
k(-)=1
Операция типа умножения:
*
/
15
*
/
otu
k(*)=0
k(/)=1
Присваивание
16
:=
oprsv
0
Открывающаяся скобка
17
(
os
0
Закрывающаяся скобка
18
)
zs
0
Идентификатор
19
a, b23
id
Указатель на
таблицу
идентификаторов
Константа без знака
20
32, 0274
int
Указатель на
таблицу
констант
Рассмотрим синтаксическую диаграмму (R-схему) лексического анализатора
языка МИЛАН (рис. 6), которая описывает первые три функции: построение
массив лексем, таблицы констант и идентификаторов.
используется при семантических вычислениях. Для языка МИЛАН будем
использовать определения лексем, представленные в таблице 7. Заметим, что
при распознавании идентификаторов и констант лексическим анализатором
используются следующие правила грамматики:                 ,             ,
                ,                .
   Таким образом, в последовательности лексем идентификаторы и константы
становятся терминалами и грамматика языка упрощается.
                                                                       Таблица 7
                                 Таблица лексем
     Название лексемы      Код   Запись в языке   Обозначение      Значение
Служебные слова:
   BEGIN                    1        BEGIN          BEGIN              0
   DO                       2          DO             DO               0
   ELSE                     3         ELSE           ELSE              0
   END                      4         END            END               0
   ENDDO                    5       ENDDO          ENDDO               0
   ENDIF                    6        ENDIF          ENDIF              0
   IF                       7          IF             IF               0
   OUTPUT                   8       OUTPUT         OUTPUT              0
   READ                     9        READ           READ               0
   THEN                    10        THEN           THEN               0
   WHILE                   11        WHILE          WHILE              0
Точка с запятой            12           ;              tz              0
Знак отношения:
   =                                    =                           k(=)=0
   <>                                  <>                           k(<>)=1
   >                       13           >             otn           k(>)=2
   <                                    <                           k(<)=3
   >=                                  >=                           k(>=)=4
   <=                                  <=                           k(<=)=5
Операция типа сложения:
   +                       14          +              ots           k(+)=0
   -                                   -                            k(-)=1
Операция типа умножения:
  *                        15           *             otu           k(*)=0
  /                                     /                           k(/)=1
Присваивание               16          :=            oprsv              0
Открывающаяся скобка       17           (             os                0
Закрывающаяся скобка       18           )             zs                0
                                                                  Указатель на
Идентификатор              19        a, b23           id            таблицу
                                                                идентификаторов
                                                                  Указатель на
Константа без знака        20       32, 0274          int           таблицу
                                                                    констант
   Рассмотрим синтаксическую диаграмму (R-схему) лексического анализатора
языка МИЛАН (рис. 6), которая описывает первые три функции: построение
массив лексем, таблицы констант и идентификаторов.
                                     13