Cтраница 1
Таблица идентификаторов - создается при лексическом анализе для того, чтобы описать все идентификаторы, имеющиеся в исходной программе. Каждому идентификатору соответствует отдельный элемент таблицы. Во время лексического анализа в этот элемент помещается имя идентификатора. Так как во многих языках длина идентификатора может меняться от 1 до 31, то лексическая фаза для эффективного использования памяти записывает в таблицу идентификаторов указатель. Указатель указывает на имя в таблице имен. Атрибуты данных и адрес для каждого идентификатора записываются последующими фазами. [1]
Таблица идентификаторов - используется для исключения ненужной временной памяти и получения информации об идентификаторах. [2]
Таблица идентификаторов - создается фазой лексического анализа и заполняется информацией об атрибутах фазой интерпретации. Распределение памяти выделяет память всем идентификаторам, обозначающим данные. Следующие две фазы используют эту информацию для генерации ссылок к этим идентификаторам. [3]
Таблица идентификаторов, таблица литералов - используются для определения типа данных и адресов переменных ( операнды матрицы) при генерации соответствующих кодов доступа с правильными адресами. [4]
Обычно таблицы идентификаторов и меток, служащие основой для распределения памяти, составляются в процессе анализа входного текста. Для всех языков программирования, в которых выполняется требование явного или неявного описания идентификатора и метки перед ее использованием, в это же время происходит и распределение памяти. Поскольку анализ и распределение памяти ( или по крайней мере составление таблиц) происходят по одному алгоритму, то ясно, что составление таблиц общих элементов языка не вызывает дополнительных трудностей. При этом, конечно, надо, чтобы общие элементы двух или нескольких частей программы, составленные на разных языках, согласовывались по типу. [5]
Аналогичный просмотр таблицы идентификаторов делается для автоматической и управляемой памяти. Этот просмотр помещает относительные адреса в каждый элемент. В матрице также создаются элементы с пометкой автоматический и управляемый. При генерации эти относительные адреса используются для формирования адресной части команд. [6]
Указателем переменной в таблице идентификаторов и констант может быть просто идентификатор переменной, сама константа или некоторое условное число; это зависит от конкретного метода составления таблицы. [7]
На рис. 8.23 показаны таблицы идентификаторов и временной памяти, таблица литералов и некоторые элементы матрицы для программы нашего примера. [8]
При выполнении этого просмотра таблицы идентификаторов и литералов используются в большей степени, чем сама программа. [9]
Классы памяти заносятся в таблицу идентификаторов синтаксическим анализатором и интерпретатором из явных или неявных описаний данных. [10]
Абсолютные адреса заносятся в таблицу идентификаторов вместо относительных. [11]
Создается и используется аналогично таблице идентификаторов. [12]
Центральным элементом рабочей области является таблица идентификаторов, называемая таблицей символов. Каждый идентификатор, хранящийся в таблице символов, обычно является именем подпрограммы, простой переменной или массива; в этих случаях элемент таблицы содержит указатель на подпрограмму или структуру данных, которые хранятся в другой части рабочей области. Некоторые идентификаторы в таблице символов могут быть групповыми именами - именами для групп имен подпрограмм и переменных. [13]
Таблица временной памяти ( часть таблицы идентификаторов) создается фазой интерпретации, чтобы описать промежуточные результаты вычислений в матрице. Эта таблица может быть реализована как часть таблицы идентификаторов, поскольку большая часть информации имеет тот же формат. Это связано с тем, что никакие другие процедуры не ссылаются на нее, и память эта нужна только тогда, когда будет активирована процедура, которой она необходима. [14]
![]() |
Структура таблицы идентификаторов для вложенных блоков. [15] |