Cтраница 2
Если список Xi отсутствует, то осуществляется контроль за изменением значений всех переменных и элементов массивов, используемых в данной программной единице. [16]
![]() |
Включающие и исключающие ссылки. [17] |
Если оператор INSERT используется для включения в некоторый сегмент программной единицы, содержащей общую область ( неименованную или именованную), то общая область включается в тот же сегмент, что и данная программная единица. Кроме того, именованная общая область может быть включена в любой сегмент редактируемой программы, если в операторе INSERT указано имя этой общей области. Если управляющий оператор INSERT не употребляется, то все общие области для программных единиц, включаемых в данный сегмент, автоматически перемещаются Редактором в ближайший общий сегмент. [18]
Оператор возврата обеспечивает передаму управления ( поз-врат) в ту программную единицу, из которой было передано управление данной программкой единице. Если данная программная единица является подпрограммой, к которой было обращение из основной программы, то оператор RETURN обеспечивает возврат в основную программу. Если же данная программа является основной программой, которая получила управление от управляющей программы операционной системы, то оператор RETURN обеспечит возврат в управляющую программу операционной системы. [19]
Этот неисполняемый оператор должен быть последним предложением в любой программной единице. Его появление означает, что в данной программной единице предложений больше нет. [20]
Область действия оператора DO, употребленного в пакете, должна полностью располагаться в этом пакете. Метки операторов пакета должны быть уникальными в данной программной единице. Запрещается передавать управление оператору пакета из отлаживаемой программной единицы. [21]
Для ввода и вывода данных нестандартной длины могут быть использованы и другие соответствующие спецификаторы типа. При этом передача данных осуществляется в соответствии с их описанием в данной программной единице. [22]
Оператор END отмечает конец программной единицы. Роль END заключается в том, что он указывает транслятору конец текста данной программной единицы. Оператор END должен быть последним оператором в исходной программе. [23]
Оператор окончания отмечает конец программной единицы. Роль END заключается в том, что он указывает транслятору конец текста данной программной единицы. Оператор END должен быть последним оператором в исходной программе. [24]
Область сохранения размером 18 слов резервируется в каждой программной единице. Во втором слове сохраняется адрес области сохранения той программной единицы, которая вызвала данную программную единицу. В третье слово помещается адрес области сохранения вызываемой программы. Заполнение области сохранения программы производится как вызывающей, так и вызываемой программами. [25]
При обращении к подпрограмме-функции или к подпрограмме стандарт яым способом, рассмотренным в предыдущих параграфах, управление передается оператору начальной строки соответствующей программной единицы, и выполняются последовательно все опраторы, пока не встретится в этой последовательности оператор возврата. В ряде случаев такой стандартный вход в подпрограмму является нежелательным, и возникает необходимость входа в данную программную единицу не с самого ее начала. Для организации дополнительных входов в подпрограмму-функцию или подпрограмму используются операторы входа. [26]
При обращении к подпрограмме-функции или к подпрограмме стандартным способом, рассмотренным в предыдущих параграфах, управление передается оператору начальной строки соответствующей программной единицы, и выполняются последовательно все операторы, пока не встретится в этой последовательности оператор возврата. В ряде случаев такой стандартный вход в подпрограмму является нежелательным, и возникает необходимость входа в данную программную единицу не с самого ее начала. Для организации дополнительных входов в подпрограмму-функцию или подпрограмму используются операторы входа. [27]
В фортране ЕС контроль за превышением значения индекса задается режимом SUBCHK в операторе DEBUG; вслед за словом SUBCHK в скобках указывается список контролируемых имен массивов. Если имена массивов не указаны, то контролируются переменные с индексами для всех массивов, описанных в данной программной единице. [28]
Оператор DEBUG предназначен для описания отладочных действий в одной программной единице и задания режимов их выполнения. В программной единице может находиться только один оператор DEBUG. Он определяет начало пакета отладки для данной программной единицы. [29]
Реализуется данная возможность следующим образом. Формирование текста расчетной задачи, рассмотренное в предыдущем разделе, выполняется посредством подстановки в места, предусмотренные схемой счета, текстов необходимых архивных модулей. В этом случае в процессе сборки выясняется, не выполнялась ли когда-либо ранее трансляция данной программной единицы. Если трансляция уже выполнялась, подстановка текста модуля не производится, а из архива пакета выбирается полученный в свое время ( при трансляции) соответствующий модуль загрузки. Если же программная единица ранее не транслировалась, в формируемую задачу включается ее текст для трансляции, причем получаемый в результате загрузочный модуль не только используется в данном расчете, но и запоминается в архиве для последующих применений. [30]