Составители:
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
- …
- следующая ›
- последняя »
