Элемент

ГОСТ

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. СУЩЕСТВЕННЫЕ ИЗМЕНЕНИЯ



  1. Существенные изменения, не влияющие на имеющиеся программы

Приведенный ниже список изменений расширяет средства ГОСТ 22558. Эти изменения являются новыми средствами, не влияющими на имеющиеся про­граммы, например, новые глаголы или дополнительные возможности для старо­го глагола.

  1. Строчные буквы (1 Я ДР). Если набор литер ЭВМ включает строчные буквы, их можно использовать в строке-литер. Каждая такая литера эквивалент­на прописной литере, за исключением случая, когда строчные буквы используют­ся в нечисловом литерале.

  2. Двоеточие (:) (2 ЯДР). Набор литер Кобола расширен включением двоеточия, которое используется при модификации ссылок.

>

753

/2 Ю Зак. 253
  1. Литеры пунктуации (1 ЯДР). Разделители запятая, точка с запятой и пробел взаимозаменяемы в исходной программе.

  2. Слова, определенные пользователем, и системные имена (1 ЯДР). Одно и то же слово Кобола в исходной программе можно использовать и как систем­ное имя и как слово, определенное пользователем; чем является данное слово — определяется по контексту.

  3. Символические литеры (2 ЯДР). Символическая литера является опре­деленным пользователем словом, определяющим стандартную константу.

  4. Нечисловой литерал (1 ЯДР). Верхняя граница длины нечислового ли­терала 160 литер.

В предыдущем стандарте Кобола верхняя граница была 120 литер.

  1. Стандартная константа ZERO (НУЛЬ) (2 ЯДР). Стандартная кон­станта ZERO (НУЛЬ) допустима в арифметических выражениях.

  2. Единственность ссылки (1 ЯДР). Определенное пользователем слово не обязательно должно быть уникальным или иметь возможность быть уточнен­ным, если на него не ссылаются.

  3. Уточнения (2 ЯДР). Реализация должна обеспечивать возможность обработки 50 уровней уточнения. В предыдущем стандарте Кобола разрешалось 5 уровней уточнения.

  4. Индексирование (2 ЯДР). Верхняя граница размерности таблицы — семь.

(И) Относительное индексирование (1 ЯДР). Относительное индексирова­ние допускает, чтобы за индексом следовал знак + или —, за которым следует целое.

  1. Использование индексов и, индексных данных (1 ЯДР). И индексы, и индексные данные могут быть записаны одновременно в одном наборе индексов, используемом для ссылки на отдельное вхождение в многомерной таблице.

  2. Модификация ссылки (2 ЯДР). Модификация ссылки является новым методом ссылки на данное посредством указания самой левой литеры и длины данного.

  3. Порядковый номер (1 ЯДР). Порядковый номер может содержать лю­бую литеру из набора литер машины. В ГОСТ 22558 порядковый номер мог со­держать только цифры.

  4. Формат представления раздела данных (1 ЯДР). Слово, следующее за указателем уровня, номером уровня 01 или номером уровня 77 на одной и той же строке, может начинаться в поле А.

  5. Заголовок конца программы (2 ЯДР). Заголовок конца программы указывает конец названной исходной Кобол-программы; за заголовком конца программы может следовать Кобол-црограмма, которая должна компилировать­ся отдельно при одном и том же вызове компилятора.

  6. Вложенные исходные программы (2 МПС). Программы могут содер­жаться в других программах.

  7. Фраза INITIAL (НАЧАЛЬНАЯ) в параграфе. PROGRAM-ID (ПРО­ГРАММА) (2 МПС). Фраза INITIAL (НАЧАЛЬНАЯ) определяет программу, состояние которой инициировано при каждом вызове программы в то же сос­тояние, как если бы программа вызывалась впервые в единице исполнения.

  8. Фраза COMMON (ОБЩАЯ) в параграфе PROGRAM-ID (ПРОГРАМ­МА) (2 МПС), Фраза COMMON (ОБЩАЯ) определяет программу, которая, хо­тя и содержится непосредственно в другой программе, может быть вызвана из любой программы, прямо или косвенно содержащейся в этой другой программе.

Раздел оборудования (1 ЯДР). Раздел оборудования необязателен. В разделе оборудования секция конфигурации необязательна. Параграф SOURCE- 754COMPUTER (ИСХОДНАЯ-МАШИНА), параграф OBJECT-COMPUTER (РА­БОЧАЯ-МАШИНА), статьи в параграфе FILE-CONTROL (УПРАВЛЕНИЕ- ФАЙЛАМИ) и статьи в параграфе I—O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ- ВЫВОДОМ) также необязательны.

  1. Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ ИМЕНА) (1 ЯДР). Если имя-реализации есть переключатель, нет необходимости указывать имя-ус- ловия.

  2. Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) (1 ЯДР). Зарезервированное слово 1S (ЕСТЬ) сделано необязательным в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) в соответствии с использова­нием слова IS (ЕСТЬ) в спецификациях Кобола.

  3. Вариант STANDARD-2 (СТАНДАРТ-М) (1 ЯДР). Вариант STAN­DARD-2 (СТАНДАРТ-М) фразы ALPHABET (АЛФАВИТ) параграфа SPECI­AL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) допускает спецификацию набора 7- битовых литер ISO для алфавита или основной последовательности.

  4. Фраза-ASSIGN (НАЗНАЧИТЬ) (1 ПОД, 1 ОТД, 1 ИПД, 1 СРТ, 1 ГОТ). Во фразе ASSIGN (НАЗНАЧИТЬ) может быть указан нечисловой ли­терал.

  5. Фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) (2 ПОД, 2 ОТД, 2 ИПД). Фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) в статье управления файлом от­носится к последовательным файлам, относительным файлам и индексным фай­лам, открытым в режиме ввода, ввода-вывода или дополнения. В предыдущем стандарте Кобола фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) в статье управ­ления файлом применялась к последовательным файлам, открытым в режиме ввода.

  6. Фраза ORGANIZATION (ОРГАНИЗАЦИЯ) (1 ПОД, 1 ОТД, 1 ИПД). Во фразе ORGANIZATION (ОРГАНИЗАЦИЯ) статьи управления файлом сло­ва ORGANIZATION IS (ОРГАНИЗАЦИЯ) необязательны.

  7. Фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) (2 ПОД, 1 ГОТ). Фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) в статье управления файлом определяет литеру, которая должна быть использована для заполнения блока в последовательных файлах.

  8. Фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) (2 ПОД, 1 ГОТ). Фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) в статье управления файлом указывает способ определения длины записи переменной длины во внешней среде.

  9. Параграф І-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) (1 ПОД, 1 ОТД, 1 ИПД, 1, ГОТ). В параграфе І-O-CONTROL (УПРАВЛЕНИЕ- ВВОДОМ-ВЫВОДОМ) порядок фраз несущественен.

  10. Раздел данных (I ЯДР). Раздел данных необязателен.

  11. Фраза BLOCK CONTAINS (В БЛОКЕ) (1 ПОД, 1 ОТД, 1 ИПД). Отсутствие фразы BLOCK CONTAINS (В БЛОКЕ) разрешается, если число записей, содержащихся в блоке, указывается операционным окружением. В пре­дыдущем стандарте Кобола отсутствие фразы BLOCK CONTAINS (В БЛОКЕ) обозначало стандартный размер физической записи, определяемый реализацией.

  12. Фраза CODE-SET (АЛФАВИТ) (1 ПОД, 1 ГОТ). Фраза CODESET (АЛФАВИТ) может быть указана для всех файлов с последовательной органи­зацией. В предыдущем стандарте Кобола была ограничена для файлов не мас­совой памяти.

  13. Фраза LABEL RECORDS (МЕТКИ) (1 ПОД, 1 ОТД, 1 ИПД, 1 ГОТ), Фраза LABEL RECORDS (МЕТКИ) необязательна; если она не указана, под­разумевается фраза LABEL RECORDS ARE STANDARD (МЕТКИ СТАНДАРТ­НЫ).Фраза LINAGE (ВЕРСТКА) (2 ПОД). Имена-данных во фразе LINA­GE (ВЕРСТКА) могут быть уточнены.

  14. Фраза EXTERNAL (ВНЕШНЕЕ) (2 .МПС). Фраза EXTERNAL (ВНЕШНЕЕ) указывает, что данное или определитель файла внешние и могут быть доступны и обработаны в любой программе единицы исполнения.

  15. Фраза GLOBAL (ГЛОБАЛЬНОЕ) (2 МПС). Фраза GLOBAL (ГЛО­БАЛЬНОЕ) указывает, что имя-данного или имя-файла является глобальным именем и доступно любой программе, содержащейся в программе, объявляющей это имя.

  16. Фраза FILLER (ЗАПОЛНИТЕЛЬ) (1 ЯДР). Использование слова FILLER (ЗАПОЛНИТЕЛЬ) необязательно для статей описания данных. Слово FILLER (ЗАПОЛНИТЕЛЬ) может появиться в статье описания данного, со­держащей фразу REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ). Слово FILLER (ЗА­ПОЛНИТЕЛЬ) может быть использовано в статье описания данного или груп­пы данных.

  17. Фраза OCCURS (ПОВТОРЯЕТСЯ) (2 ЯДР). Данное, указанное в фразе DEPENDING ON (В ЗАВИСИМОСТИ ОТ), может иметь нулевое зна­чение. Таким образом, минимальное число вхождений может равняться нулю.

  18. Строка-литер шаблона (2 ЯДР, 1 ГОТ). Строка литер шаблона может быть продолжена на следующих строках кодирования.

  19. Фраза PICTURE (ШАБЛОН) (1 ЯДР). Литера вставки «.» (точка) или «,» (запятая) может быть использована как последняя литера строки-литер шаблона, если за ней непосредственно следует разделитель точка, заканчиваю­щая статью описания данного.

  20. Фраза RECORD (В ЗАПИСИ) (2 ПОД, 2 ОТД, 2 ИПД, 1 СРТ). Ва­риант VARYING (ПЕРЕМЕННОЕ ЧИСЛО) в фразе RECORD (В ЗАПИСИ) используется для указания записей переменной! длины. Слова DEPENDING ON (В ЗАВИСИМОСТИ ОТ), связанные с вариантом VARYING (ПЕРЕМЕННОЕ ЧИСЛО), определяют данное, содержащее число позиций литер в записи.

  21. Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) (1 ЯДР). Размер данно­го, связанного с фразой REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), может быть мень­ше или равен размеру переопределяемого данного. В ГОСТ 22558 оба данных должны были иметь одинаковое число позиций литер.

  22. Фраза SIGN (ЗНАК) (1 ЯДР). В иерархии статьи описания данных может быть указано несколько фраз SIGN (ЗНАК); спецификация на подчинен­ном уровне имеет приоритет над спецификацией уровня содержащей группы.

  23. Фраза SIGN (ЗНАК) (1 ГОТ). Фраза SIGN (ЗНАК) разрешена в статье описания группы отчета.

  24. Фраза USAGE (фраза об использовании) (1 ЯДР). Во фразе об ис­пользовании введены два новых варианта BINARY (ДВОИЧНОЕ) и PACKED- DECIMAL (ДЕСЯТИЧНОЕ).

  25. Фраза VALUE (ЗНАЧЕНИЕ) (1 ЯДР). Фраза VALUE (ЗНАЧЕНИЕ) может быть указана в статье описания данного, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ). Фраза VALUE (ЗНАЧЕНИЕ) может быть указана в статье описания данного, подчиненной статье, содержащей фразу OCCURS (ПОВТО­РЯЕТСЯ). В ГОСТ 22558 фраза VALUE (ЗНАЧЕНИЕ) не разрешалась в статье описания данного, содержащей фразу OCCURS, или в статье описания данного, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ).

  26. Статья описания коммуникации (1 КОМ). Порядок фраз в статье опи­сания коммуникации несущественен.

  27. Вариант FOR 1-0 (ДЛЯ ВВОДА-ВЫВОДА) в статье описания ком­муникации (1 КОМ). Вариант FOR 1-0 (ДЛЯ ВВОДА-ВЫВОДА) в статье опи­сания коммуникации обеспечивает функции ввода и вывода одной статьей ОК- 756Фраза LINE NUMBER (НОМЕР СТРОКИ) (1 ГОТ). В качестве от­носительного номера строки в варианте PLUS (ПЛЮС) фразы LINE NUMBER (НОМЕР СТРОКИ) может быть указано целое 0.

  28. Раздел процедур (1 Я ДР). Раздел процедур не обязателен.

  29. Заголовок раздела процедур (1 МПС). На данное секции связи, кото­рое переопределяет или подчинено переопределяющему данному, и на данное, появляющееся в заголовке раздела процедур, можно ссылаться в разделе про­цедур.

  30. Ограничители области действия (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 (КОНЕЦ-ПИСАТЬ).

  31. Знаки операций отношения (1 ЯДР). Знак операции отношения IS GREATER THAN OR EQUAL TO (> = ) эквивалентен знаку операции отноше­ния IS NOT LESS THAN (HE МЕНЬШЕ). Знак операции отношения IS LESS THAN OR EQUAL TO (МЕНЬШЕ ИЛИ РАВНО) эквивалентен знаку операции отношения IS NOT GREATER THAN (HE БОЛЬШЕ).

  32. Условие класса (1 ЯДР). Имя-класса связано с набором литер, опре­деленным пользователем во фразе CLASS (КЛАСС) в параграфе SPECIAL­NAMES (СПЕЦИАЛЬНЫЕ-ИМЕИА).

  33. Вариант DAY-OF-WEEK (ДЕНЬ-НЕДЕЛИ) оператора ACCEPT (ПРИНЯТЬ) (2 ЯДР), Вариант DAY-OF-WEEK (ДЕНЬ-НЕДЕЛИ) оператора ACCEPT (ПРИПЯТЬ) обеспечивает доступ к целому, представляющему день недели; например, 1 представляет понедельник, 2 — вторник, и 7 — воскресенье.

  34. Оператор ADD (СЛОЖИТЬ) (1 ЯДР). Слово ТО (С) является не­обязательным словом в формате: