Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория языков программирования методов трансляции.-1.pdf
Скачиваний:
13
Добавлен:
05.02.2023
Размер:
1.36 Mб
Скачать

31

Рассмотрим вариант такой таблицы(ее называют таблицей имен, таблицей идентификаторов или таблицей символов). В ней перечислены все идентификаторы вместе с относящейся к ним информацией

(табл. 2.1).

COST = (PRICE+TAX)*0.98

 

 

 

Таблица 2.1 - Таблица имен

 

Номер

Идентификатор

Информация

 

элемента

 

 

 

1

 

COST

Переменная с плавающей точкой

2

 

PRICE

Переменная с плавающей точкой

3

 

TAX

Переменная с плавающей точкой

4

 

0.98

Константа с плавающей точкой

Если позднее во входной цепочке попадается идентификатор, надо справиться в этой таблице, не появлялся ли он ранее. Если да, то лексема, соответствующая новому вхождению этого идентификатора, будет той же, что и у предыдущего вхождения.

Таким образом, таблица должна обеспечивать:

·быстрое добавление новых идентификаторов и новых сведений о них;

·быстрый поиск информации, относящейся к данному идентификатору.

Обычно применяют метод хранения данных с помощью таблиц расстановки.

Более подробно будем обсуждать этот метод далее.

2.6. Синтаксический анализ

Выходом лексического анализатора является цепочка лексем. Эта цепочка образует вход синтаксического анализатора, исследующего только первые компоненты лексемы – их типы. Информация о второй компоненте используется на более позднем этапе процесса компиляции – генерации кода.

Синтаксический анализ – разбор, в котором исследуется цепочка лексем и устанавливается, удовлетворяет ли она структурным условиям, явно сформулированным в синтаксисе языка. Синтаксическую структуру данной цепочки важно знать также при генерации кода.

Например. А+В*С должна отражать тот факт, что сначала перемножается В*С, а потом результат складывается сА. При любом другом порядке операций нужное вычисление не получится.