Элемент |
ГОСТ 22558 |
Настоящий стандарт |
|
г гот |
1 гот |
Вариант GLOBAL (ГЛОБАЛЬНО) |
— |
2 МПС |
Вариант ON имя-файла (ДЛЯ имя-файла) |
1 под |
1 под |
1 отд |
1 отд |
|
|
1 ИПД |
1 ИПД |
Вариант ON несколько имен-файлов (ДЛЯ не- |
1 гот |
1 гот |
сколько имен-файлов) |
2 ПОД |
2 ПОД |
2 ОТД |
2 ОТД |
|
|
2 ИПД |
2 ИПД |
|
Ф ГОТ |
1 ГОТ |
ON INPUT (ДЛЯ ВХОДНЫХ) |
1 под |
1 под |
1 отд |
1 ОТД |
|
|
1 ИПД |
1 ИПД |
ON OUTPUT (ДЛЯ ВЫХОДНЫХ) |
1 под |
1 под |
|
1 отд |
1 отд |
|
1 ИПД |
’ ИПД |
|
і гот |
1 ГОГ |
ON 1-0 (ДЛЯ ВХОДНЫХ-ВЫХОДНЫХ) |
1 под |
I под |
1 отд |
1 отд |
|
|
1 ИПД |
1 ИПД |
ON EXTEND (ДЛЯ ДОПОЛНЯЕМЫХ) |
2 ПОД |
2 ПОД 2 ОТД 2 ИПД 1 ГОТ |
Вариант BEFORE REPORTING (ДО ВЫДАЧИ) |
і гот |
1 гот |
Вариант GLOBAL (ГЛОБАЛЬНО) |
— |
2 МПС |
Вариант FOR DEBUGGING (ДЛЯ ОТЛАДКИ) |
1 отл |
1 отл + |
Имя-процедуры |
1 отл |
1 отл + |
ALL PROCEDURES (ВСЕХ ПРОЦЕДУРАХ) ALL REFERENCES OF идентификатор-1 |
1 отл |
1 ОТЛ + |
(ВСЕХ ССЫЛКАХ НА идентификатор-1) |
2 ОТЛ |
2 ОТЛ + |
Имя-коммупикации |
2 ОТЛ |
2 ОТЛ + |
Имя-файла |
2 ОТЛ |
2 ОТЛ + |
Оператор WRITE (ПИСАТЬ) |
1 под |
1 ПОД |
1 ОТД |
1 отд |
|
|
1 ИПД |
1 ИПД |
Вариант FROM (ИЗ ПОЛЯ) |
I под |
1 под |
|
1 отд |
I отд |
Вариант BEFORE/AFTER ADVANCING (ДО/ |
1 ИПД |
Г ИПД |
ПОСЛЕ ПРОДВИЖЕНИЯ) |
1 под |
1 под |
Целое LINE/LINES (СТРОК) ' |
1 под |
1 под |
Идентификатор LINE/LINES (СТРОК) |
2 ПОД |
1 под |
Мнемоническое-имя |
2 ПОД |
2 ПОД |
PAGE (СТРАНИЦЫ) Вариант AT END-OF-PAGE/EOP (В КОНЦЕ |
1 под |
1 под |
СТРАНИЦЫ) Вариант NOT AT END-OF-PAGE/EOP (НЕ В |
2 ПОД |
2 ПОД |
КОНЦЕ СТРАНИЦЫ) Вариант INVALID KEY (ПРИ ОШИБКЕ КЛЮ- |
■— |
2 ПОД |
ЧА) |
1 отд |
1 отд |
1 ИПД |
1 ИПД |
Элемент |
гост 22558 |
Настоящий стандарт |
Вариант NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) |
— |
1 отд 1 ипд |
Вариант END-WRITE (КОНЕЦ-ПИСАТЬ) |
— |
2 ПОД 1 ОТД 1 ипд |
|
1.6. Дополнительный список отличий
СЕГМЕНТАЦИЯ
Номер-сегментов от 0 до 49 для постоянных сег- |
|||||
ментов Номера-сегментов от 50і до 99 для независимых |
1 |
СЕГ |
4 |
СЕГ |
+ |
сегментов Все секции с одинаковыми номерами сегментов должны быть записаны подряд в исходной програм |
1 |
СЕГ |
1 |
СЕГ |
+ |
ме Секции с одинаковыми номерами-сегментов не обязательно должны физически следовать одна за |
1 |
СЕГ |
1 |
СЕГ |
+ |
другой в исходной программе |
2 |
СЕГ |
2 |
СЕГ |
+ |
ОБРАБОТКА ИСХОДНЫХ ТЕКСТОВ
Оператор COPY (КОПИРОВАТЬ) |
1 БИБ |
1 оит |
Вариант OF/IN имя-библиотеки (ИЗ имя биб |
|
|
лиотеки) |
2 БИБ |
2 ОИТ |
Вариант REPLACING (ЗАМЕНЯЯ) |
2 БИБ |
2 ОИТ |
Псевдотекст |
2 БИБ |
2 ОИТ |
Идентификатор |
2 БИБ |
2 ОИТ |
Литерал |
2 БИБ |
2 ОИТ |
Слово |
2 БИБ |
2 ОИТ |
Оператор REPLACE (ЗАМЕНИТЬ) |
— |
2 ОИТ |
Псевдотекст BY псевдотекст (псевдотекст НА |
|
|
псевдотекст) |
— |
2 ОИТ |
OFF (ОТКЛЮЧИТЬ ЗАМЕНИТЬ) |
— |
2 ОИТ |
2. СУЩЕСТВЕННЫЕ ИЗМЕНЕНИЯ
Существенные изменения, не влияющие на имеющиеся программы
Приведенный ниже список изменений расширяет средства ГОСТ 22558. Эти изменения являются новыми средствами, не влияющими на имеющиеся программы, например, новые глаголы или дополнительные возможности для старого глагола.
Строчные буквы (1 Я ДР). Если набор литер ЭВМ включает строчные буквы, их можно использовать в строке-литер. Каждая такая литера эквивалентна прописной литере, за исключением случая, когда строчные буквы используются в нечисловом литерале.
Двоеточие (:) (2 ЯДР). Набор литер Кобола расширен включением двоеточия, которое используется при модификации ссылок.
>
753
/2 Ю Зак. 253Литеры пунктуации (1 ЯДР). Разделители запятая, точка с запятой и пробел взаимозаменяемы в исходной программе.
Слова, определенные пользователем, и системные имена (1 ЯДР). Одно и то же слово Кобола в исходной программе можно использовать и как системное имя и как слово, определенное пользователем; чем является данное слово — определяется по контексту.
Символические литеры (2 ЯДР). Символическая литера является определенным пользователем словом, определяющим стандартную константу.
Нечисловой литерал (1 ЯДР). Верхняя граница длины нечислового литерала 160 литер.
В предыдущем стандарте Кобола верхняя граница была 120 литер.
Стандартная константа ZERO (НУЛЬ) (2 ЯДР). Стандартная константа ZERO (НУЛЬ) допустима в арифметических выражениях.
Единственность ссылки (1 ЯДР). Определенное пользователем слово не обязательно должно быть уникальным или иметь возможность быть уточненным, если на него не ссылаются.
Уточнения (2 ЯДР). Реализация должна обеспечивать возможность обработки 50 уровней уточнения. В предыдущем стандарте Кобола разрешалось 5 уровней уточнения.
Индексирование (2 ЯДР). Верхняя граница размерности таблицы — семь.
(И) Относительное индексирование (1 ЯДР). Относительное индексирование допускает, чтобы за индексом следовал знак + или —, за которым следует целое.
Использование индексов и, индексных данных (1 ЯДР). И индексы, и индексные данные могут быть записаны одновременно в одном наборе индексов, используемом для ссылки на отдельное вхождение в многомерной таблице.
Модификация ссылки (2 ЯДР). Модификация ссылки является новым методом ссылки на данное посредством указания самой левой литеры и длины данного.
Порядковый номер (1 ЯДР). Порядковый номер может содержать любую литеру из набора литер машины. В ГОСТ 22558 порядковый номер мог содержать только цифры.
Формат представления раздела данных (1 ЯДР). Слово, следующее за указателем уровня, номером уровня 01 или номером уровня 77 на одной и той же строке, может начинаться в поле А.
Заголовок конца программы (2 ЯДР). Заголовок конца программы указывает конец названной исходной Кобол-программы; за заголовком конца программы может следовать Кобол-црограмма, которая должна компилироваться отдельно при одном и том же вызове компилятора.
Вложенные исходные программы (2 МПС). Программы могут содержаться в других программах.
Фраза INITIAL (НАЧАЛЬНАЯ) в параграфе. PROGRAM-ID (ПРОГРАММА) (2 МПС). Фраза INITIAL (НАЧАЛЬНАЯ) определяет программу, состояние которой инициировано при каждом вызове программы в то же состояние, как если бы программа вызывалась впервые в единице исполнения.
Фраза COMMON (ОБЩАЯ) в параграфе PROGRAM-ID (ПРОГРАММА) (2 МПС), Фраза COMMON (ОБЩАЯ) определяет программу, которая, хотя и содержится непосредственно в другой программе, может быть вызвана из любой программы, прямо или косвенно содержащейся в этой другой программе.
Раздел оборудования (1 ЯДР). Раздел оборудования необязателен. В разделе оборудования секция конфигурации необязательна. Параграф SOURCE- 754COMPUTER (ИСХОДНАЯ-МАШИНА), параграф OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА), статьи в параграфе FILE-CONTROL (УПРАВЛЕНИЕ- ФАЙЛАМИ) и статьи в параграфе I—O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ- ВЫВОДОМ) также необязательны.
Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ ИМЕНА) (1 ЯДР). Если имя-реализации есть переключатель, нет необходимости указывать имя-ус- ловия.
Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) (1 ЯДР). Зарезервированное слово 1S (ЕСТЬ) сделано необязательным в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) в соответствии с использованием слова IS (ЕСТЬ) в спецификациях Кобола.
Вариант STANDARD-2 (СТАНДАРТ-М) (1 ЯДР). Вариант STANDARD-2 (СТАНДАРТ-М) фразы ALPHABET (АЛФАВИТ) параграфа SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) допускает спецификацию набора 7- битовых литер ISO для алфавита или основной последовательности.
Фраза-ASSIGN (НАЗНАЧИТЬ) (1 ПОД, 1 ОТД, 1 ИПД, 1 СРТ, 1 ГОТ). Во фразе ASSIGN (НАЗНАЧИТЬ) может быть указан нечисловой литерал.
Фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) (2 ПОД, 2 ОТД, 2 ИПД). Фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) в статье управления файлом относится к последовательным файлам, относительным файлам и индексным файлам, открытым в режиме ввода, ввода-вывода или дополнения. В предыдущем стандарте Кобола фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) в статье управления файлом применялась к последовательным файлам, открытым в режиме ввода.
Фраза ORGANIZATION (ОРГАНИЗАЦИЯ) (1 ПОД, 1 ОТД, 1 ИПД). Во фразе ORGANIZATION (ОРГАНИЗАЦИЯ) статьи управления файлом слова ORGANIZATION IS (ОРГАНИЗАЦИЯ) необязательны.
Фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) (2 ПОД, 1 ГОТ). Фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) в статье управления файлом определяет литеру, которая должна быть использована для заполнения блока в последовательных файлах.
Фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) (2 ПОД, 1 ГОТ). Фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) в статье управления файлом указывает способ определения длины записи переменной длины во внешней среде.
Параграф І-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) (1 ПОД, 1 ОТД, 1 ИПД, 1, ГОТ). В параграфе І-O-CONTROL (УПРАВЛЕНИЕ- ВВОДОМ-ВЫВОДОМ) порядок фраз несущественен.
Раздел данных (I ЯДР). Раздел данных необязателен.
Фраза BLOCK CONTAINS (В БЛОКЕ) (1 ПОД, 1 ОТД, 1 ИПД). Отсутствие фразы BLOCK CONTAINS (В БЛОКЕ) разрешается, если число записей, содержащихся в блоке, указывается операционным окружением. В предыдущем стандарте Кобола отсутствие фразы BLOCK CONTAINS (В БЛОКЕ) обозначало стандартный размер физической записи, определяемый реализацией.
Фраза CODE-SET (АЛФАВИТ) (1 ПОД, 1 ГОТ). Фраза CODESET (АЛФАВИТ) может быть указана для всех файлов с последовательной организацией. В предыдущем стандарте Кобола была ограничена для файлов не массовой памяти.
Фраза LABEL RECORDS (МЕТКИ) (1 ПОД, 1 ОТД, 1 ИПД, 1 ГОТ), Фраза LABEL RECORDS (МЕТКИ) необязательна; если она не указана, подразумевается фраза LABEL RECORDS ARE STANDARD (МЕТКИ СТАНДАРТНЫ).Фраза LINAGE (ВЕРСТКА) (2 ПОД). Имена-данных во фразе LINAGE (ВЕРСТКА) могут быть уточнены.
Фраза EXTERNAL (ВНЕШНЕЕ) (2 .МПС). Фраза EXTERNAL (ВНЕШНЕЕ) указывает, что данное или определитель файла внешние и могут быть доступны и обработаны в любой программе единицы исполнения.
Фраза GLOBAL (ГЛОБАЛЬНОЕ) (2 МПС). Фраза GLOBAL (ГЛОБАЛЬНОЕ) указывает, что имя-данного или имя-файла является глобальным именем и доступно любой программе, содержащейся в программе, объявляющей это имя.
Фраза FILLER (ЗАПОЛНИТЕЛЬ) (1 ЯДР). Использование слова FILLER (ЗАПОЛНИТЕЛЬ) необязательно для статей описания данных. Слово FILLER (ЗАПОЛНИТЕЛЬ) может появиться в статье описания данного, содержащей фразу REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ). Слово FILLER (ЗАПОЛНИТЕЛЬ) может быть использовано в статье описания данного или группы данных.
Фраза OCCURS (ПОВТОРЯЕТСЯ) (2 ЯДР). Данное, указанное в фразе DEPENDING ON (В ЗАВИСИМОСТИ ОТ), может иметь нулевое значение. Таким образом, минимальное число вхождений может равняться нулю.
Строка-литер шаблона (2 ЯДР, 1 ГОТ). Строка литер шаблона может быть продолжена на следующих строках кодирования.
Фраза PICTURE (ШАБЛОН) (1 ЯДР). Литера вставки «.» (точка) или «,» (запятая) может быть использована как последняя литера строки-литер шаблона, если за ней непосредственно следует разделитель точка, заканчивающая статью описания данного.
Фраза RECORD (В ЗАПИСИ) (2 ПОД, 2 ОТД, 2 ИПД, 1 СРТ). Вариант VARYING (ПЕРЕМЕННОЕ ЧИСЛО) в фразе RECORD (В ЗАПИСИ) используется для указания записей переменной! длины. Слова DEPENDING ON (В ЗАВИСИМОСТИ ОТ), связанные с вариантом VARYING (ПЕРЕМЕННОЕ ЧИСЛО), определяют данное, содержащее число позиций литер в записи.
Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) (1 ЯДР). Размер данного, связанного с фразой REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), может быть меньше или равен размеру переопределяемого данного. В ГОСТ 22558 оба данных должны были иметь одинаковое число позиций литер.
Фраза SIGN (ЗНАК) (1 ЯДР). В иерархии статьи описания данных может быть указано несколько фраз SIGN (ЗНАК); спецификация на подчиненном уровне имеет приоритет над спецификацией уровня содержащей группы.
Фраза SIGN (ЗНАК) (1 ГОТ). Фраза SIGN (ЗНАК) разрешена в статье описания группы отчета.
Фраза USAGE (фраза об использовании) (1 ЯДР). Во фразе об использовании введены два новых варианта BINARY (ДВОИЧНОЕ) и PACKED- DECIMAL (ДЕСЯТИЧНОЕ).
Фраза VALUE (ЗНАЧЕНИЕ) (1 ЯДР). Фраза VALUE (ЗНАЧЕНИЕ) может быть указана в статье описания данного, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ). Фраза VALUE (ЗНАЧЕНИЕ) может быть указана в статье описания данного, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ). В ГОСТ 22558 фраза VALUE (ЗНАЧЕНИЕ) не разрешалась в статье описания данного, содержащей фразу OCCURS, или в статье описания данного, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ).
Статья описания коммуникации (1 КОМ). Порядок фраз в статье описания коммуникации несущественен.
Вариант FOR 1-0 (ДЛЯ ВВОДА-ВЫВОДА) в статье описания коммуникации (1 КОМ). Вариант FOR 1-0 (ДЛЯ ВВОДА-ВЫВОДА) в статье описания коммуникации обеспечивает функции ввода и вывода одной статьей ОК- 756Фраза LINE NUMBER (НОМЕР СТРОКИ) (1 ГОТ). В качестве относительного номера строки в варианте PLUS (ПЛЮС) фразы LINE NUMBER (НОМЕР СТРОКИ) может быть указано целое 0.
Раздел процедур (1 Я ДР). Раздел процедур не обязателен.
Заголовок раздела процедур (1 МПС). На данное секции связи, которое переопределяет или подчинено переопределяющему данному, и на данное, появляющееся в заголовке раздела процедур, можно ссылаться в разделе процедур.
Ограничители области действия (1 ЯДР, 1 ПОД, 1 ОТД, 1 ИПД, 2 МПС, 1 СРТ, 1 КОМ). Ограничители области действия служат для указания границы действия определенных процедурных операторов. Ограничители области действия следующие: END-ADD (КОНЕЦ-СЛ ОЖИТЬ), END-CALL (КОНЕЦ-ВЫЗ- ВАТЬ), END-COMPUTE (КОНЕЦ-ВЫЧИСЛИТЬ), END-DELETE (КОНЕЦ- УДАЛИТЬ), END-D1V1DE (КОНЕЦ-РАЗДЕЛИТЬ), END-EVALLJATE (KO- НЕЦ-ОЦЕНИТЬ), END-IF (КОНЕЦ-ЕСЛИ), END-MULTLPLY (КОНЕЦ-УМ- НОЖИТЬ), END-PERFORM (КОНЕЦ-ВЫПОЛНИТЬ), END-READ (КОНЕЦ- ЧИТАТЬ), END-RECEIVE (КОНЕЦ-ПОЛУЧИТЬ), END-RETURN (КОНЕЦ- ВЕРНУТЬ), END-REWRITE (КОНЕЦ-ОБНОВИТЬ), END-SEARCH (КОНЕЦ- ИСКАТЬ), END-START (КОНЕЦ-ПОДВЕСТИ), END-STRING (КОНЕЦ-СОБ- РАТЬ), END-SUBTRACT (КОНЕЦ-ОТНЯТЬ), END-UNSTRING (КОНЕЦ-РА- ЗОБРАТЬ), END-WRITE (КОНЕЦ-ПИСАТЬ).
Знаки операций отношения (1 ЯДР). Знак операции отношения IS GREATER THAN OR EQUAL TO (> = ) эквивалентен знаку операции отношения IS NOT LESS THAN (HE МЕНЬШЕ). Знак операции отношения IS LESS THAN OR EQUAL TO (МЕНЬШЕ ИЛИ РАВНО) эквивалентен знаку операции отношения IS NOT GREATER THAN (HE БОЛЬШЕ).
Условие класса (1 ЯДР). Имя-класса связано с набором литер, определенным пользователем во фразе CLASS (КЛАСС) в параграфе SPECIALNAMES (СПЕЦИАЛЬНЫЕ-ИМЕИА).
Вариант DAY-OF-WEEK (ДЕНЬ-НЕДЕЛИ) оператора ACCEPT (ПРИНЯТЬ) (2 ЯДР), Вариант DAY-OF-WEEK (ДЕНЬ-НЕДЕЛИ) оператора ACCEPT (ПРИПЯТЬ) обеспечивает доступ к целому, представляющему день недели; например, 1 представляет понедельник, 2 — вторник, и 7 — воскресенье.
Оператор ADD (СЛОЖИТЬ) (1 ЯДР). Слово ТО (С) является необязательным словом в формате: