Cтраница 2
Адрес перехода обычно указывается ассемблерным именем, помечающим ту команду программы, переход к которой нужно совершить. Но внутри макроопределения помечать модельные предложения обычным именем опасно: если мы внутри входной программы более одного раза сошлемся на такое макроопределение, один и тот же идентификатор более одного раза появится на поле имени и компилятор с базисного языка отметит ошибку. Для избежания этого в ассортименте макропроцессора имеется системная переменная со стандартным обозначением & SYSNDX. Эта переменная может употребляться в модельных предложениях точно на таких же правах, как параметры макропрототипа. Она автоматически заменяется четырехзначным десятичным числом. [16]
Системный символ переменной & SYSLIST позволяет непосредственно обращаться к операндам позиционной макрокоманды без введения символических параметров. Вместо символических параметров в модельных предложениях макроопределения записывается системный символ переменной & SYSLIST ( rc) или & SYSLIST ( n, m), где п - номер операнда в макрокоманде, т - номер операнда в подсписке. Такая запись позволяет обращаться как к отдельному операнду макрокоманды, так и к операнду, который находится в подсписке. В м крокоманде номер операнда п и номер операнда в подсписке m могут быть записаны любыми арифметическими выражениями, которые допустимы в подполе операндов команды SETA. Если значение п равно нулю, то это значит, что обращение производится к опущенному операнду. В одном и том же макроопределении одновременно могут быть использованы и символ переменной & SYSLIST, и символические параметры. [17]
Символический параметр - это обычный символ, перед которым стоит знак амперсенда. Если символический параметр встречается в каком-либо модельном предложении, то он обязательна должен быть записан в предложении прототипа макроопределения. При компиляции символический параметр замещается соответствующим символом макрокоманды. [18]
Символический параметр - это обычный символ, перед которым стоит знак амперсенда. Если символический параметр встречается в каком-либо модельном предложении, то он обязательно должен быть записан в предложении прототипа макроопределения. При компиляции символический параметр замещается соответствующим символом макрокоманды. [19]
Для того чтобы отметить те операторы или модельные предложения входной программы, к обработке которых макропроцессор переходит, нарушая естественный порядок просмотра, применяется конструкция, называемая меткой перехода макропроцессора. [20]
Комментарий в составе макроопределения может располагаться не только между параметрами макропрототипа и на полях комментария макропрототипа и модельных предложений, но также и в специальных модельных предложениях, содержащих символ в позиции 1 или пару символов в позициях соответственно 1 и 2 строки бланка. В макрорасширение переносятся только комментарии, расположенные на поле комментария модельных предложений и в предложениях, начинающихся символом в первой позиции. Никакой обработки их не производится, и параметры, включенные в их состав, значениями не заменяются. [21]
Предложение прототипа может определять позиционный, ключевой или смешанный форматы операндов макрокоманды. Тело макроопределения не является обязательным элементом, оно состоит из модельных предложений различного типа и предложений генерации. В результате макрогенерации тело макроопределения превращается в последовательность предложений на языке ПЛ / 1 или MACROPL, заменяющих макрокоманду. [22]
В макрокоманде MOVE символ D заменит символический параметр & TY, символ FIELD - & Р, символ А - & ТО, символ В - & FROM и десятичный самоопределенный терм 6 - & R. В макроопределении символический napaweip & TY используется в каждом из четырех модельных предложений для изменения мнемонического кода операции. [23]
Каждому типу макроопределения соответствует свой тип предложения прототипа, которые отличаются формой и правилами записи символических параметров операндов. В предложении прототипа позиционного макроопределения в подполе операндов перечисляются все символические параметры, которые используются в модельных предложениях. [24]
Каждому типу макроопределения соответствует свой тип предложения прототипа, которые отличаются формой и правилами записи символических параметров операндов. В предложении прототипа позиционного макроопределения в подполе операндов перечисляются все символические параметры, которые используются в модельных предложениях. Символические параметры записываются в произвольном порядке и разделяются запятыми. [25]
Они введены в макросистему для того, чтобы иметь возможность получать в результате макрогенерации новые макроопределения. Модельные предложения второго уровня генерации отличаются от других видов ( предложений MACROPL по признаку 2, указываемому в 73 - й позиции бланка перфорации. [26]
Переменные типа А могут фигурировать в следующих конструкциях: в левой части операторов SETA, в арифметических выражениях, в символьных выражениях ( см. § 5.2) и в модельных предложениях как внутри, так и вне макроопределений. В модельных предложениях эти переменные можно использовать в конкатенациях с текстами, параметрами и другими переменными для формирования частей поля имени и операндов. При преобразовании модельного предложения в команду базисного языка переменная типа А заменяется десятичным изображением соответствующего значения без знака и ведущих нулей. [27]
Модель макроопределения - это программа, написанная с использованием средств макроязыка, из которой при компиляции получают желаемые макрорасширения. Макрорасширение, которое получается из макроопределения в каждом конкретном случае зависит как от параметров макрокоманды, так и от команд условной компиляции и специальных команд макроязыка. В подполе названия модельного предложения может быть указан либо одни из символов макреязыка, кроме обычного символа, либо ничего не указано. [28]
Модель макроопределения - это программа, написанная с использованием средств макроязыка, из которой при компиляции получают желаемые макрорасширения. Макрорасширение, которое получается из макроопределения в каждом конкретном случае зависит как от параметров макрокоманды, так и от команд условной компиляции и специальных команд макроязыка. В подполе названия модельного предложения может быть указан либо один из символов макроязыка, кроме обычного символа, либо ничего не. [29]
В макроопределении использованы составные символические параметры: AST & TY, & L & TY, & P & FROM и & Р & ТО. В макрокоманде MOVE символ D заменит символический параметр & TY, символ FIELD - & Р, символ А - & ТО, символ В - & FROM и десятичный самоопределенный терм 6 - & R. В макроопределении символический параметр & TY используется в каждом из четырех модельных предложений для изменения мнемонического кода операции. [30]