Таблица - идентификатор - Большая Энциклопедия Нефти и Газа, статья, страница 2
Если тебе до лампочки, где ты находишься, значит, ты не заблудился. Законы Мерфи (еще...)

Таблица - идентификатор

Cтраница 2


Этот стандартный символ указывает элемент таблицы идентификаторов. На какой элемент он указывает. Может так случиться, что одному имени идентификатора будут соответствовать два элемента таблицы идентификаторов. В В1 идентификатор Y обозначает двоичное целое число; в В2 - символьную строку, а в ВЗ - битовую строку. Лексическая фаза не - может по стандартному символу различить эти Y, поскольку она ничего не знает о декларациях и блоках. Поэтому все, что может сделать лексическая фаза - это поместить имена переменных в таблицу имен.  [16]

Каким должно быть смещение для 32-элементной таблицы идентификаторов, если для доступа в нее используется метод хеширования.  [17]

Фаза распределения памяти вначале просматривает таблицу идентификаторов, выделяя каждому элементу статическую память. При этом используется счетчик адреса с нулевым начальным значением, которое затем меняется по мере распределения памяти.  [18]

Указание о длине помещается во все элементы таблицы идентификаторов. Поле длины используется фазой генерации кода для создания соответствующего кода ( например, А. Таким образом, шаги с 1 по 3, примененные к нашему примеру, в результате дают таблицу идентификаторов, показанную на рис. 8.32. Читатель сам может определить длину и адрес.  [19]

Заметим, что значением всех переменных в таблице идентификаторов являются двоичные числа с фиксированной точкой. Так что каждой из них отводится отдельное слово. Литералами являются десятичные числа, а в Системе 360 они хранятся в упакованном виде, по две цифры в байте. Элемент матрицы явно указывает, что литеральная область памяти состоит из трех байтов и что при генерации кода эта область должна быть заполнена значениями литералов, взятыми в таблице литералов.  [20]

Ниже представлен фрагмент программы на RITRANe, Описана таблица идентификаторов. Строки таблицы состоят из трех полей: идентификатор ( ID), тип идентификатора ( TYP) и адрес ( ADDR), присвоенный идентификатору. Регистр RID содержит идентификатор; счетчик CTYP содержит внутреннее значение типа идентификатора; счетчик CADDR содержит текущее значение счетчика адреса программы. В этом фрагменте идентификатор вместе со своими характеристиками записывается в таблицу.  [21]

Смещение может быть найдено из элемента В в таблице идентификаторов. Номер регистра базы выбирается произвольно; однако, фаза генерации кода должна производить код, который загружает в этот регистр базы адрес начала области статической памяти.  [22]

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

24 Представление структуры данных. [24]

Запоминает информацию, содержащуюся в декларации структуры, в таблице идентификаторов.  [25]

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

Фаза распределения памяти должна заполнить поле длины и адреса в таблице идентификаторов. Она также заводит соответствующие элементы в матрице, чтобы показать, что память выделена и в нее занесено начальное значение. Для структуры нашего примера и для машин типа Системы 360, где мы можем определить базовый регистр, содержащий базу структуры, память может выделяться последовательно.  [27]

28 Представление лексических правил в БНФ. [28]

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

Рассмотрим вначале обработку описаний типа, основная задача которой - формирование таблицы идентификаторов.  [30]



Страницы:      1    2    3    4