Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »