Обработка - макроопределение - Большая Энциклопедия Нефти и Газа, статья, страница 1
Быть может, ваше единственное предназначение в жизни - быть живым предостережением всем остальным. Законы Мерфи (еще...)

Обработка - макроопределение

Cтраница 1


Обработка макроопределения всегда завершается генерацией одной из команд. Во всех случаях замены неверных значений параметров выдаются диагностические сообщения с помощью MNOTE. В табл. 5.9 приведены все диагностические сообщения и их номера, под которыми они фигурируют в блок-схеме.  [1]

2 Схема макрогенератора. [2]

Блок обработки макроопределений дважды просматривает каждое макроопределение, описанное в программе, и формирует временные таблицы макрогенератора.  [3]

4 Временные таблицы макрогенератора. [4]

В ходе трансляции блок обработки макроопределений создает пять временных таблиц: таблицу позиционных параметров, таблицу внутренних имен, таблицу ключевых параметров, таблицу описаний макрокоманд и таблицу макрокоманд.  [5]

Две первые таблицы нужны только в процессе обработки макроопределения. В трех последних таблицах фиксируется результат работы блока обработки макроопределений. Эти таблицы используются затем блоком обработки макрокоманд.  [6]

На рис. 4.1 и 4.2 представлены блок-схемы алгоритма обработки макроопределений и алгоритма расширения. Каждый из алгоритмов выполняет последовательный просмотр входного текста предложение за предложением. Блоки чтение означают выборку следующей входной строки из внешней памяти в рабочую область.  [7]

8 Блок управления трансляцией макрогенератора. [8]

Блок обработки макрокоманд использует таблицы, созданные блоком обработки макроопределений, и формирует еще одну временную таблицу - таблицу позиционных операндов, аналогичную таблице позиционных параметров.  [9]

Операторы, которые включаются в программу в результате обработки макроопределения по макрокоманде, называются макрорасширением.  [10]

11 Схема макрогенератора. [11]

Блок обработки макрокоманд, используя таблицы, подготовленные блоком обработки макроопределений, заменяет каждое вхождение макрокоманды соответствующим текстом на языке ассемблера.  [12]

В противном случае при первом появлении библиотечной макрокоманды нужно обработать ее макроопределение блоком обработки макроопределений с занесением имени библиотечной макрокоманды в таблицу макрокоманд и формированием остальных таблиц.  [13]

Если правее номера печатается знак плюс (), то оператор появился в результате обработки макроопределения. При задании режима PRINT NOGEN операторы макрорасширений не печатаются, но нумерация в таком случае содержит пропуски.  [14]

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



Страницы:      1    2