ГОСТ 22558-89 сторінка 113 з 116
Оператор STOP литерал (ОСТАНОВИТЬ литерал). Продолжение функционирования единицы исполнения начинается со следующего выполнимого оператора в том случае, когда подключена зависящая от реализации процедура управления возобновлением единицы исполнения (см. ч. 6. п. 6.24.4, общее правило (4)). '
Оператор SUBTRACT (ОТНЯТЬ). Отведение достаточного поля памяти для выполнения вычислений без потери значащих цифр обеспечивается компилятором (см. ч. 6, п. 6.26.4, общее правило (4)).
Состояние ввода-вывода. Если значение состояния ввода-вывода для операции ввода-вывода указывает критическое состояние ошибки, реализацией определяются действия, которые предпринимаются после выполнения любой применимой по оператору USE AFTER STANDARD EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ОШИБКИ) процедуры, или, если ни одна такая процедура не применима, после завершения стандартной системной обработки ошибок ввода-вывода (см. ч. 7, п. 1.3.5; ч. 8, п. 1.3.4; ч. 9, п. 1.3,4).
Состояние ввода-вывода. Условие постоянной ошибки остается действующим на все последующие операции ввода-вывода файла до тех пор, пока не будут вызваны определенные реализацией средства для устранения условия постоянной ошибки (см. ч. 7, п. 1.3.5; ч. 8, п. 1.3.4; ч. 9, п. 1.3.4).
Состояние ввода-вывода. Если применимо более одного значения, значение, которое помещается в состояние ввода-вывода, определяется реализацией (см. ч. 7, п. 1.3.5; ч. 8, п. 1.3.4; ч. 9, п. 1.3.4).
Состояние ввода-вывода = 24. Сделана попытка занесения записей в относительный или индексный файл за пределами внешне определенных его границ. Способ определения границ устанавливается реализацией (см. ч. 8, п. 1.3.4; ч. 9, п. 1.3.4).
Состояние ввода-вывода = 34, Сделана попытка занесения записи в последовательный файл за пределами внешне определенных границ файла. Способ определения границ устанавливается реализацией (см. ч. 7, п. 1.3.5).
Состояние ввода-вывода = 9х. Значение 9 состояния ввода-вывода указывает на существование условий, определяемых реализацией. Значение х определяется реализацией (см. ч. 7, п. 1.3.5; ч. 8, п. 1.3.4; ч. 9, п. 1.3.4).
Фраза ASSIGN (НАЗНАЧИТЬ). Значение и правила для допустимого содержимого имени-реализации-1 и значение литерала-1 определяются реализацией (см. ч. 7, п. 2.3.3, синтаксическое правило (3); ч. 9, п 2.3.3, синтаксическое правило (3); ч. 8, п. 2.3.3, синтаксическое правило (3); ч. 13, п. 2.3 3, синтаксическое правило (3)).
Фраза ASSIGN (НАЗНАЧИТЬ). Правила корректности имениреализа- ции-1 и литерала-1 определяются реализацией (см. ч. 7, 8, 9, 13, (т 2.3.4, общее правило 16). »
Фраза ASSIGN (НАЗНАЧИТЬ). Реализация определяет связь между., файлом и запоминающей средой, на которую ссылается имя-реализации или литерал (см. ч. 7, п. 2.3.4, общее правило (3); ч. 8, п. 2 3.4 общее правило (4); ч. 9, п. 2.3.4, общее правило (5); ч. 13, п. 2 3.4, общее правило (3)).
Фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ). Если фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) не. задана, значение, используемое для литеры заполнителя, определяется реализацией (см. ч. 7, а. 2.7.4, общее правило (5)).
Имя-реализации во фразе RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ). Имя-реализации является системным-именем; поэтому правила образования имени-реализации определяются реализацией (см. ч. 7, п. 2.8.2).
Фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ). Правила корректности имени-реализации во фразе RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) определяются реализацией (см. ч. 7, п. 2.3.4, общее правило 1в).
Фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ).
Если задано имя-реализации-1, для определения длины записей переменной длины используется метод, определяемый реализацией (см. ч. 7, п. 2.8.4, общее правило (3)).
Фраза RESERVE (РЕЗЕРВИРОВАТЬ). Если фраза RESERVE (РЕЗЕРВИРОВАТЬ) нс указана, количество распределяемых областей ввода-вывода определяется реализацией (см. ч. 7, п. 2.9.3, общее правило (1)).
Фраза LABEL RECORDS (МЕТКИ). Вариант STANDARD (СТАНДАРТНЫ), указывает, что существуют метки файла или устройства, назначенного файлу, и эти метки соответствуют спецификациям меток, определяемым реализацией (см. ч. 7, п. 3.6.3, общее правило (2)).
Фраза LABEL RECORDS (МЕТКИ), Если фраза LABEL RECORDS (МЕТКИ) не указана для файла, метки для этого файла должны соответствовать спецификациям меток, определяемых реализацией (см. ч. 7, п. 3.6.3, общее правило (3)).
Фраза VALUE (ЗНАЧЕНИЕ). Имя-реализации является системным- именем, поэтому правила образования имени-реализации определяются реализацией (см. ч. 7. п. 3.9.2).
Оператор CLOSE (ЗАКРЫТЬ). Метки обрабатываются в соответствии со стандартной процедурой обработки меток, определенной реализацией. Выполняются операции закрытия, определенные реализацией (см. ч. 7, п. 4.2.4, общее правило ЗВ; ч. 8, п. 4.2.4, общее правило 2А; ч. 9, п. 4.2.4, общее правило 2А; ч. 13, п. 4.2.4, общее правило ЗВ).
Оператор OPEN (ОТКРЫТЬ). Проверка или запись меток осуществляется в соответствии с процедурами, определяемыми реализацией для обработки входных или выходных меток (см. ч. 7, п. 4.3.4, общее правило (7); ч. 8, п. 4.4.4, общее правило (7); ч. 9, п. 4.4.4, общие .правила (7) и (14); ч. 13, п. 4 5.4, общее правило 5 а).
Оператор WRITE (ПИСАТЬ). Если указано мпемоническое-имя-1, имя связывается с. особым свойством, определяемым реализацией (см. ч. 7, п. 4.7.3, синтаксическое правило (6)).
Оператор WRITE (ПИСАТЬ). Если указано мнемоническооимя-1, печатаемая страница продвигается в соответствии с правилами, установленными реализацией для данного устройства (см. ч. 7, п. 4.7.4, общее правило 15г);
Оператор WRITE (ПИСАТЬ). Если указано PAGE (СТРАНИЦЫ) фразы ADVANCING (ПРОДВИЖЕНИЯ) и в статье описания, связанной с выводимой записью файла, не указана фраза LINAGE (ВЕРСТКА), позиционирование устройства па следующую физическую страницу выполняется в соответствии с правилами, определенными реализацией (см. ч. 7, п. 4.7.4, общее правило 15з).
Катушка. Размеры катушки определяются реализацией (см. ч. 3).
Том (unit). Размер тома определяется реализацией (см, ч. 3).
і (67) Том (volume). Размер тома определяется реализацией.
Оператор CALL (ВЫЗВАТЬ). Если вызываемая программа не является программой Кобола, правила формирования имени-программы определяются реализацией (см. ч. 10. п. 5.2.4, общее правило (1)).
Оператор CALL (ВЫЗВАТЬ). Ресурсы вычислительной среды времени выполнения, которые должны проверяться с целью установления доступности вызываемой программы для выполнения, определяются реализацией (ем. ч. 10. и. 5.2.4, общее правило (3)).
Оператор CALL (ВЫЗВАТЬ). 1>ли программа, заданная в операторе CALL (ВЫЗВАТЬ), не может стать доступной для выполнения в это время и фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) или ON EXCEPTHON (ПРИ ОШИБКЕ) не задана, все остальные действия оператора CALL (ВЫЗВАТЬ) ои- реде іяются реализацией (см. ч. 10, и. 5.2.4, общее правило (3)).
1) Оператор CALL (ВЫЗВАТЬ). Если вызываемая программа не является программой на Коболе, использование фразы USING (ИСПОЛЬЗУЯ) определяется реализацией (см. ч. 10. п. 5.2.1, общее правило (9)).
Фраза SAME SORT/SORT-MERGE AREA (ОБЩАЯ ОБЛАСТЬ COP- ТИРОВКИ/СОРТИРОВКИ-СЛИЯНИЯ). Особенности размещения не сортируемых и не сливаемых файлов определяются реализацией (см. ч. 11, п. 2.5.4, общее правило 2 б).
Структура записи файла отчетов. В генераторе отчетов структура логической записи файла, соотнесенного имени-файла-1, определяется реализацией (см. ч. 13, п. 3.2.4, общее правило (2)).
Символическое имя. Символическое имя коммуникационного терминала должно соответствовать правилам образования спстемных-имен, нозтому образование символического имени определяется реализацией (см. ч. 14, и. 2.2.4, правило (10)).
Ключ состояния коммуникации — 9х. Значение 9х ключа состояния ком- муншащни указывает на наличие условия, определяемого реализацией (см. ч і I, 11'2.1’.5).
Ключ ошибки коммуникации. Значения от А до Z ключа ошибки коммуникации указывают па условия, определяемые реализацией (см. ч 14 п. 2.2.6).
Вариант KEY'(КЛЮЧ) оператора DISABLE (ЗАПРЕТИТЬ). Пароль неграипастся в систему (см. ч 14. и 3.2.4, общее правило (7)).
Вариант KEY (КЛЮЧ) оператора ENABLE (РАЗРЕШИТЬ;. Паролі, встраивается в систему ( м. ч. I '. п. 3.3.4. общее правило (6)).
Оператор SEND (ПОСЛАТЬ) Если щпользуегся вариант мисмюшче,’- кое-н.зя, имя идентифицируется специальным средством, определяемым реализацией ( н. ч 14, и. 3.6.3, (шшашепчо кое ирашіло (1)).
ро) Оператор SEND (ПОСЛАТЬ). Если указано мнемоииче.ч: е-пм■:- і, личеры, і предаваемые па и. ммупнкацшшн >е у: тройство, пошцлшшр- ют. я пвет- ствеичо правилам, определяемым реали гишей для этого е.тпой:-?л' ( ’.•■ ч 1-І. и. 3.5 общее правило 15 в).
3 Списси эдеме:,тов языка, зависящга от оборудовали:!
Ниже пршюдиіся список элементов .языка настоящего ст-шдар:а, ашш. ящих от о ,ібсішостей компонент оборудования.
Замена двумя литерами зависит от набора литер, допустимого машиной (1 Я ДР).
Фраза об использовании USAGE IS BINARY (ДВОИЧНОЕ) зависит от наличия подходящей машинной архитектуры для двоичного формата данных (1 ЯДР).
Фраза об использовании USAGE IS PACKED-DECIMAL (ДЕСЯТИЧНОЕ) зависит от наличия подходящей машинной архитектуры для упакованного десятичного формата данных (1 ЯДР).
Если позиционирование не применимо на устройстве оборудования, опе- рацирнная система игнорирует позиционирование при выполнении оператора DISPLAY (ВЫДАТЬ) (1 ЯДР).
Фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) зависит от того, применимы ли литеры заполнители к типу устройства, предназначенного файлу (2 ПОД, 1 ГОТ).
Вариант STANDARD-1 (СТАНДАРТ А) фразы RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) зависит от типа катушки, устройства (2 ПОД, I ГОТ).
Фраза MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШКЕ) зависит от типа катушки устройства (2 ПОД. 1 ГОТ).
Фраза CODE-SET (АЛФАВИТ) зависит от того, может ли поддерживать устройство указанный код (1 ПОД, 1 ГОТ).
Вариант REEL/UNIT (КАТУШКУ/ТОМ) оператора CLOSE (ЗАКРЫТЬ) зависит от типа (катушки или устройства массовой памяти) (1 ПОД, 1 ГОТ).
Вариант FOR REMOVAL (С УДАЛЕНИЕМ) оператора CLOSE (ЗАКРЫТЬ) зависит от типа катушки или устройства массовой памяти (2 ПОД, 1 ГОТ).
Вариант WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) оператора CLOSE (ЗАКРЫТЬ) зависит от типа катушки или типа устройства массовой памяти (2 ПОД, 1 ГОТ).
Оператор DELETE (УДАЛИТЬ) зависит от устройства массовой памяти (1 ОТД, 1 ИПД).
Вариант 1-0 (ВХОДНОИ-ВЫХОДНОЙ) оператора OPEN (ОТКРЫТЬ) зависит от типа устройства массовой памяти (1 ПОД, 1 ОТД, 1. ИПД).
Вариант REVERSED (РЕВЕРСНО) оператора OPEN (ОТКРЫТЬ) зависит от типа катушки или устройства массовой памяти, имеющих возможность обеспечивать доступ к записям в обратном порядке (2 ПОД).
Вариант WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) оператора OPEN (ОТКРЫТЬ) зависит от типа катушки или устройства массовой памяти (2 ПОД, 1 ГОТ).
Вариант EXTEND (ДОПОЛНЯЕМЫЙ) оператора OPEN (ОТКРЫТЬ) зависит от типа катушки или устройства массовой памяти (2 ПОД, 2 ОТД, 2 ИПД, 1 ГОТ).
Оператор REWRITE (ОБНОВИТЬ) зависит от типа устройства массовой памяти (1 ПОД, 1 ОТД, 1 ИПД).
Вариант 1-0 (ВХОДНЫХ-ВЫХОДНЫХ) оператора USE (ИСПОЛЬЗОВАТЬ) зависит от типа устройства массовой памяти (I ПОД, 1 ОТД, 1 ИПД).
Вариант BEFORE/AFTER (ДО/ПОСЛЕ) оператора WRITE (ПИСАТЬ) зависит от возможности вертикального позиционирования устройства или от действия, базирующегося на мпемоническом-имени (1 ПОД).
Вариант BEFORE/AFTER ADVANCING (ДО/ПОСЛЕ ПРОДВИЖЕНИЯ) оператора SEND (ПОСЛАТЬ) зависит от возможности вертикального позиционирования устройства или от действия, базирующегося на мнемоническом- имепи (1 КОМ).
4. Список неопределенных элементов языка
Ниже приводится список не определенных явно элементов языка настоящего стандарта.
Явные и неявные передачи управления. Когда нет следующего выполнимого оператора и управление не передается за пределы Кобол-программы, передача управления в программе не определена, если только выполнение программы не происходит в недекларативной части процедур программы, вызванной
оператором CALL (ВЫЗВАТЬ), где выполняется неявный оператор EXIT PROGRAM (ВЫЙТИ ИЗ ПРОГРАММЫ) (см. ч. 4, п. 4.4.2),
Начальные значения данных. ■ Начальное значение любого индексного данного или данного, не связанного с фразой VALUE (ЗНАЧЕНИЕ), не определено (см. ч. 6, п. 5.2.4).
Вариант DEPENDING ON (В ЗАВИСИМОСТИ ОТ) фразы OCCURS (ПОВТОРЯЕТСЯ). Значения данных, номера вхождений которых превышают значение данного, на которое ссылается имя-данного-1, не определены (см, ч. 6, п. 5.8.4, общее правило 2 6).
Фраза VALUE (ЗНАЧЕНИЕ) в секции файлов. Начальные значения данных в секции файлов не определено (см. ч. 6, п. 2.15.6, правило 1 а).
Фраза VALUE (ЗНАЧЕНИЕ) в секции рабочей памяти и секции коммуникаций. Если фраза VALUE (ЗНАЧЕНИЕ) не указана для данного в секции рабочей памяти или в секции коммуникаций, значение этого данного не определено (см. ч. 6, п. 5.15.6, правило 1 в).
Вариант ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ). Если фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) не задана и во время выполнения арифметической операции в арифметическом операторе возникает условие переполнения, значения результирующих идентификаторов не определены (см, ч. 6, п. 6.4.2).
Перекрывающиеся операнды. Если посылаемое и принимающее данное в любом операторе имеют общую часть или всю область памяти, то даже если они не определены в одной статье описания данного, результат выполнения такого оператора не определен (см. ч. 6, п. 6.4.5).
Несовместимые данные. Если значения данных, к которым происходит обращение в разделе процедур, не соответствуют классу, определенному при описании этих данных с фразой PICTURE (ШАБЛОН), результат обращения не определен. Исключение составляет условие класса (см. ч. 6, п. 6.4.7).
Оператор SEARCH ALL (ИСКАТЬ ОСОБО). В операторе SEARCH ALL (ИСКАТЬ ОСОБО) результат операции поиска предсказуем только в следующих случаях: (а) данные в таблице упорядочены так же, как это описано в варианте KEY IS (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) фразы OCCURS (ПОВТОРЯЕТСЯ), связанном с идентификатором-1 и (б) значения ключа (ключей), упомянутого во фразе WHEN (КОГДА), достаточны, чтобы однозначно идентифицировать элемент таблицы (см. ч. 6, п. 6.22.4, общее правило (3)).
Оператор SEARCH ALL (ИСКАТЬ ОСОБО). Если для каждой установки индекса в разрешенном интервале ни одно условие, задаваемое во фразе WHEN (КОГДА), не может быть удовлетворено, то управление передается по- велительному-оператору-1 фразы AT END (В КОНЦЕ), если она указана, или на конец оператора SEARCH (ИСКАТЬ), если эта фраза не указана. В любом случае конечная установка индекса не определена (см. ч. 6, п. 6.22.4, общее правило (4)).
Оператор CLOSE (ЗАКРЫТЬ). Действия оператора CLOSE (ЗАКРЫТЬ) не определены, если метки специфицированы, но в файле отсутствуют, или когда они не специфицированы, но присутствуют (см. ч. 7, п, 4.2.4, общее правило ЗВ; ч. 8; ч. 9, п. 4.2,4, общее правило 2А; ч. 13, п. 4.2.4, общее правило ЗВ).
Оператор CLOSE (ЗАКРЫТЬ), В случае неуспешного выполнения оператора CLOSE (ЗАКРЫТЬ) доступность области записи не определена (см. ч. 7, п. 4.2.4, общее правило (6); ч. 8 и 9, п. 4.2.4, общее правило (5)).
Оператор OPEN (ОТКРЫТЬ). Действия оператора OPEN (ОТКРЫТЬ) не определены, когда метки специфицированы, но отсутствуют, или не специфицированы, но присутствуют (см. ч. 7, п. 4.3.4, общее правило (7); ч. 8 и 9, п. 4.4.'$, общее правило (7); ч. 13, п. 4.5.4, общее правило (5)).
Оператор READ (ЧИТАТЬ). По завершении оператора READ (ЧИТАТЬ) значения всех данных, находящихся вне диапазона текущей записи данных, не определены (см. ч. 7, п. 4.4.4, общее правило (6); ч. 8 и 9, п. 4.5.4, общее правило (6)).
Оператор READ (ЧИТАТЬ). После неуспешного выполнения оператора READ (ЧИТАТЬ) содержимое соответствующей области записи не определено; для индексных файлов ключ ссылки также не определен (см. ч. 7, п. 4.4.4, общее правило (12); ч. 8 и 9, п. 4.5.4, общее правило (12)).
Оператор START (ПОДВЕСТИ). После неуспешного выполнения оператора START (ПОДВЕСТИ) для индексного файла ключ ссылки для этого файла не определен (см. ч. 9, п. 4.7.4, общее правило (8)).
Оператор WRITE (ПИСАТЬ) (последовательный-файл). Если деклара- тива USE AFTER STANDARD EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ ПРОЦЕДУРЫ ОШИБКИ) не специфицирована явно или неявно для имени-файла, связанного с именем-записи-1, результат не определен при попытке записать запись за внешне определенными границами файла (сМ. ч. 7, п. 4.7.4, общее правило 13 в).
Вариант ADVANCING (ПРОДВИЖЕНИЯ) оператора WRITE (ПИСАТЬ). Если значение данного, указанного идентификатором-2, отрицательно, при использовании варианта ADVANCING (ПРОДВИЖЕНИЯ) результат не определен (см. ч. 17, п. 4.7.4, общее правило 15 6).
Оператор CALL (ВЫЗВАТЬ) для программ, записанных не на Коболе. Оператор CALL (ВЫЗВАТЬ) может использоваться для вызова программ, записанных в языке, отличном от Кобола, но механизм возврата и передачи межпрограммных данных в настоящем документе не определяются (см. ч. 2, п. 6.4.1).
Секция связи. Если к данному секции связи обращаются в программе, которая не является вызываемой, результат не определен (см. ч. 10, п. 4.1).
Оператор MERGE (СЛИТЬ). Если записи файлов, представленных име- нем-файла-2 и именем-файла-3, не упорядочены в соответствии с фразами ASCENDING (ПО ВОЗРАСТАНИЮ КЛЮЧА) или DESCENDING (ПО УБЫВАНИЮ КЛЮЧА) оператора MERGE (СЛИТЬ), результат слияния не определен (см. ч. 11, п. 4.1.4, общее правило (6)).
Оператор RETURN (ВЕРНУТЬ). При возникновении условия «в конце» выполнение оператора RETURN (ВЕРНУТЬ) считается неуспешным и содержимое области записи, соответствующей имени-файла-1, не определено (см. ч. 11, п. 4.3.4, общее правило (2)).
Побачили розбіжність з офіційним текстом?