Cтраница 1
Таблица стандартных символов - состоит из полного или частичного списка лексических единиц, расположенных в том порядке, в каком они встречаются в программе. [1]
![]() |
Лексическая фаза - таблицы терминальных символов, идентификаторов, литералов и стандартных символов для нашего примера. [2] |
Таблица стандартных символов, , Лексические. [3]
Таблица стандартных символов - создается фазой лексического анализа и содержит исходную программу в форме стандартных символов. Она используется синтаксической, фазой и фазой интерпретации в качестве источника входной информации для стека. Каждый символ из таблицы стандартных символов помещается в стек только один раз. [4]
Стек может быть встроен в таблицу стандартных символов или наоборот. [5]
Символ - следующий стандартный символ из таблицы стандартных символов помещается в верхушку стека. [6]
Для удобства читателя на рис. 8.19 все стандартные символы в таблице стандартных символов, редукции, стек и матрица заменяются символами, которые они представляют. [7]
Второй просмотр соответствует синтаксической фазе и фазе интерпретации. Просматривается таблица стандартных символов, создается матрица, и информация об идентификаторах помещается в таблицу идентификаторов. Первый и второй просмотры можно объединить в один, рассматривая лексический анализ как программу интерпретации, которая проводит грамматический разбор исходной программы и помещает лексические единицы по мере необходимости непосредственно в стек. [8]
Таблица стандартных символов - создается фазой лексического анализа и содержит исходную программу в форме стандартных символов. Она используется синтаксической, фазой и фазой интерпретации в качестве источника входной информации для стека. Каждый символ из таблицы стандартных символов помещается в стек только один раз. [9]
Затем синтаксическая фаза вычеркивает метку и символ:, берет следующие четыре лексические единицы и интерпретирует редукцию 4, которая начнет грамматический разбор тела процедуры. Если первый оператор не является конструкцией вида ( метка): PROCEDURE, вызывается программа ОШИБКА, которая печатает диагностическое сообщение. Эти проверки делаются до тех пор, пока не будет обнаружено соответствие или не будут исчерпаны все символы таблицы стандартных символов. [10]
Сначала все лексические единицы сравниваются с элементами таблицы терминальных символов. В случае совпадения лексическая единица классифицируется как терминальный символ и формируется стандартный символ типа TRM, который помещается затем в таблицу стандартных символов. [11]
Пробелы и комментарии исходной программы не представляются стандартными символами и не используются последующими фазами. Каждой лексической единице в программе соответствует стандартный символ. Каждый стандартный символ содержит указатель на таблицу, элементом которой является соответствующая лексическая единица ( например, указатель таблицы или программы), и его индекс внутри этой таблицы. Ниже представлен элемент таблицы стандартных символов. [12]
![]() |
Представление лексических правил в БНФ. [13] |
После того как лексическая единица классифицирована как возможный идентификатор, опрашивается таблица идентификаторов. Если этой лексической единицы в таблице нет, то создается новый элемент. Поскольку из атрибутов идентификатора нам известно только его имя, то только оно и заносится в таблицу. Остальная информация определяется и заносится последующими фазами. Не зависимо от того, был создан новый элемент в таблице идентификаторов или нет, создается стандартный символ типа IDN и помещается в таблицу стандартных символов. [14]
![]() |
Представление лексических правил в БНФ. [15] |