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

Таблица - символическое имя

Cтраница 2


Лексема, возвращенная strtok, преобразуется в целое число с помощью atoi и символ 5 ищется в таблице символических имен. Если указанный символ не найден, то он помещается в таблицу. Поскольку мы находимся пока в самом начале программы и смотрим первую строку, то никаких символов в таблице еще нет. Для оператора rem не генерируется никакая команда, поэтому счетчик команд не увеличивается.  [16]

Информаторные индексы включают 5 таблиц-индексов, разрешающих доступ к информатору в целом и к отдельным его логическим сегментам: таблицу символических имен, таблицу синонимов, таблицу омонимов, таблицу пользователей организации, таблицу пользователей, реализующих УИС.  [17]

Информаториые индексы включают 5 таблиц-индексов, разрешающих доступ к информатору в целом и к отдельным его логическим сегментам: таблицу символических имен, таблицу синонимов, таблицу омонимов, таблицу пользователей организации, таблицу пользователей, реализующих УИС.  [18]

Если ячейка памяти, на которую ссылается номер строки в программе на ЯП, еще неизвестна, ( т.е., если ее нет в таблице символических имен), то номер этой строки заносится в массив flags в элемент с индексом, соответствующим незавершенной команде. Например, оператор безусловного перехода, делающий ссылку вперед, оставляется равным 4000 до второго прохода компилятора, который скоро будет рассмотрен.  [19]

Если в процессе трансляции были обнаружены ошибки в объявлении имен, то для них в таблице символических имен печатаются сообщения об ошибках. В этом случае таблица символических имен выводится даже тогда, когда задан режим NOSYM. В табл. 11.2 приведен перечень сообщений об ошибках.  [20]

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

22 Инструкции ЯМП, сгенерированные после первого прохода компилятора. [22]

Поскольку input непосредственно соответствует коду операции ЯМП, то компилятор просто должен определить ячейку для х в массиве ЯМП. Символ х не найден в таблице символических имен.  [23]

Транслятор ПЛ / 1 таблицу распределения памяти выдает при работе в режиме SYM, устанавливаемом с помощью оператора OPTION. Эта таблица состоит из двух частей: таблицы символических имен и таблицы смещений.  [24]

Компиляция каждого оператора ЯП зависит от его команды. Например, после того, как номер строки оператора rem помещается в таблицу символических имен, остальные символы оператора комментариев компилятор игнорирует, так как они предназначены только для пояснений операторов программы.  [25]

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

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

28 Написание, компиляция и выполнение программы на ЯП. [28]

Компилятор начинает работу с чтения в память первого оператора программы на ЯП. Вспомните, что каждый оператор начинается с номера строки, после которого следует команда. После того, как компилятор разбивает оператор на лексемы, те лексемы, которые являются номером строки, переменной или константой, помещаются в таблицу символических имен. Следует отметить, что номер строки помещается в таблицу символических имен только в случае, если он является первой лексемой в операторе. Объект symbolTable ( таблица символических имен) является массивом объектов типа tableEntry, представляющих каждый символ в программе. На число символов, которые могут появиться в программе, ограничений не существует. Следовательно, таблица символических имен symbolTable для конкретной программы может быть довольно большой по объему.  [29]

Команда let показывает, что эта строка является оператором присваивания. Символ у уже имеется в таблице символических имен и соответствующая ему ячейка памяти помещается в стек. Символ 1 также уже имеется в таблице символических имен и соответствующая ему ячейка памяти также помещается в стек.  [30]



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