Cтраница 2
Выполнение оператора ON связывает спецификацию действия о именем ситуации. Эта связь сохраняется до завершения блока, в котором выполняется оператор ON, или до следующего оператора ON с именем той же ситуации Кроме того. ON сохраняется и во всех блоках, которые активизированы из данного блока. Однако в этих активных блоках действие оператора может быть отменено другим оператором ON. Новое действие остается в силе только до конца этого блока. Когда управление возвращается к вызывающему блоку, все действия по обработке прерывания программы снова устанавливаются к тем, которые существовали в этой точке. [16]
Действие приставки может быть отменено, если написать имя ситуации непосредственно перед данным оператором. [17]
Если реакция должна быть выключена, нужно добавить к имени ситуации буквы N0 в качестве приставки. [18]
Включение реакции на ситуацию осуществляется указанием имени оитуа-ции в списке имен ситуаций ( см. § 3) перед меткой оператора. [19]
Включение реакции на ситуацию осуществляется указанием имени ситуации в списке имен ситуаций ( см. § 3) перед меткой оператора. [20]
Включение ситуации производится с помощью префикса, который имеет вид имени ситуации, заключенного в скобки. [21]
Реакция на ситуацию может быть замаскирована путем добавления слова NO к имени ситуации в качестве приставки. [22]
Префикс-ситуация используется для выключения вычислительных ситуаций и представляет собой список одного или нескольких имен ситуаций, разделенных запятыми, заключенный в круглые скобки. Этот список ставится перед оператором и отделяется от него двоеточием. Поскольку ситуации нормально включены, то для их выключения используются другие имена. Они получаются путем добавления приставки N0 к именам ситуаций. [23]
Имя ситуации, определяемой программистом, получает по умолчанию атрибут EXTERNAL, и поэтому имя ситуации можно использовать в различных блоках программы. [24]
Если в блоке выполняется оператор REVERT, то оператор ON, имеющий то же имя ситуации, что и REVERT, и выполняющийся после оператора REVERT, рассматривается как пустой оператор. [25]
Во время отладки программы может быть вставлена перфокарта с оператором SIGNAL ( в нашем примере с именем ситуации CONVERSION), который имитирует прерывание. В данном случае выполняется распечатка номера перфокарты, в которой обнаружена ошибка в данных, и с помощью оператора перехода управление передается на ввод следующей перфокарты с новыми данными. [26]
Выключение реакции на ситуацию осуществляется добавлением к имени ситуации приставки NO и записью полученного ключевого слова в списке имен ситуаций перед оператором. [27]
Ситуация, определяемая программистом, имеет вид CONDITION ( X), где X - идентификатор, задаваемый программистом; CONDITION - имя ситуации. По умолчанию предполагается, что X - внешнее имя, следовательно, во всей программе ситуации с именем CONDITION с одинаковыми идентификаторами представляют одну и ту же ситуацию. [28]
Действие некоторого ON-оператора ( то есть задание необходимой реакции на возникающую ситуацию) продолжается до конца блока или до выхода из него по GO TO, или до тех пор, пока не выполнится следующий оператор ON в зтом же блоке с тем же именем ситуации. [29]
В языке PL / 1 используется совокупность служебных слов, к числу которых относятся описатели и дополнения, указывающие свойства данных процедур и других элементов языка; разделяющие слова THEN ELSE BY ТО WHILE f; имена встроенных функций, которые являются названием алгоритмов, предусмотренных в самом языке и доступных программисту; имена ситуаций, которые определяют специальные действия, заданные программистом, порожденные той или иной ситуацией; имена операторов. [30]