1. С и н т а к с и ч е с к и е правила

  1. Имя-программы должно формироваться по правилам об­разования слов, определенных пользователем.

  2. Имя-программы должно быть идентично имени програм­мы, названному в предшествующем параграфе PROGRAM-ID (ПРОГРАММА) (п. 3.3 настоящей части),

  1. О б щ и е правила

  1. Заголовок конца программы идентифицирует конец ука­занной исходной Кобол-программы.

  2. Следующим оператором после заголовка конца програм­мы может быть только заголовок раздела идентификации про­граммы, компилируемой отдельно от программы, ограниченной заголовком конца программы.

  1. РАЗДЕЛ ИДЕНТИФИКАЦИИ В ЯДРЕ

    1. Общее описание

Раздел идентификации идентифицирует программу. Раздел идентификации обязателен в каждой исходной Кобол-программе. К тому же пользователь может включать дату написания програм­мы и другую требуемую информацию в параграфы, общий формат которых показан ниже.

  1. Организация

Заголовки параграфов идентифицируют тип информации, со­держащейся в параграфе. Имя программы должно быть дано в первом параграфе, которым является параграф PROGRAM-ID (ПРОГРАММА). Другие параграфы необязательны и могут быть, включены в раздел по желанию пользователя в порядке, указан­ном в общем формате.

Параграф AUTHOR (АВТОР), параграф INSTALLATION (ПРЕДПРИЯТИЕ), параграф DATE-WRITTEN (ДАТА-НАПИСА- НИЯ), параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) и па­раграф SECURITY (ПОЛНОМОЧИЯ) рассматриваются в нас­тоящем стандарте как устаревшие и будут удалены в следующей редакции стандарта.

  1. Структура

Далее следует общий формат параграфов раздела идентифика­ции, определяющий порядок их следования в исходной программе.

В пп. 3.3 и 3.4 настоящей части определяются параграф PRO­GRAM-ID (ПРОГРАММА) и параграф DATE-COMPILED (ДА­ТА-ТРАНСЛЯЦИИ). Определения остальных параграфов не при­водятся, так как они аналогичны.

  1. Общий формат

IDENTIFICATION DIVISION.

PROGRAM-ID. имя-программы.

[AUTHOR, [статья-комментарий] .. . ]

[INSTALLATION, [статья-комментарий] . . . ] [DATE-WRITTEN, [статья-комментарий] ... ] [DATE-COMPILED, [статья-комментарий] ... ]

[SECURITY, [статья-комментарий] ... ]

РАЗДЕЛ ИДЕНТИФИКАЦИИ.

ПРОГРАММА, имя-программы.

[АВТОР, [статья-комментарий] ... ]

[ПРЕДПРИЯТИЕ, [статья-комментарий] . . . ]

[DАТА-НАПИСАНИЯ, [статья-комментарий] ... ]

[ДАТА-ТРАНСЛЯЦИИ. [статья-комментарий] . . . ]

[ПОЛНОМОЧИЯ, [статья-комментарий] . .. ]

  1. Синтаксическое правило

  1. Статья-комментарий может быть любой комбинацией литер из набора литер машины. Перенос слов статьи-комментария по­средством использования дефиса в поле индикатора не допускает­ся, хотя статья-комментарий может располагаться на одной или не­скольких строках.

  1. Параграф PROGRAM-ID (ПРОГРАММА)

    1. Назначение

Параграф PROGRAM-ID (ПРОГРАММА) указывает имя, с по­мощью которого идентифицируется программа.

  1. О б щ и й формат

PROGRAM-ID. имя-программы.

ПРОГРАММА, имя-программы.

  1. С и н т а к с и ч е с ко е правило

  1. Имя-программы должно формироваться по правилам обра­зования слов, определенных пользователем.

  1. О б щ е е правило

  1. Имя-программы идентифицирует исходную программу, объектную программу и все относящиеся к ней выдачи.

  1. Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ)

    1. Назначение

Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) обес­печивает включение даты компиляции в выдачи раздела иден­тификации исходной программы. Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) рассматривается в настоящем стан­дарте как устаревший элемент и будет удален в следующей ре­дакции стандарта.

  1. О б щ и й формат

DATE-COMPILED, [статья-комментарий] .. .

ДАТА-ТРАНСЛЯЦИИ. [статья-комментарий] ...

  1. Синтаксическое правило

  1. Статья-комментарий может представлять любую комби­нацию литер из допустимого набора литер. Перенос слов статьи- комментария с помощью дефиса в поле индикатора не разреша­ется, однако статья-комментарий может занимать более одной строки.

  1. Общее правило

  1. Имя параграфа DATE-COMPILED (ДАТА-ТРАНСЛЯ­ЦИИ) вызывает во время компиляции программы включение текущей даты в выдаваемый текст. Если параграф DATE-COM­PILED (ДАТА-ТРАНСЛЯЦИИ) указан, он заменяется во вре­мя компиляции параграфом следующей формы:

DATE-COMPILED, текущая-дата.

ДАТА-ТРАНСЛЯЦИИ. текущая-дата.

  1. РАЗДЕЛ ОБОРУДОВАНИЯ В ЯДРЕ

    1. Общее описание

Раздел оборудования определяет стандартный метод описания таких аспектов обработки данных, которые зависят от физических характеристик конкретной машины. Раздел оборудования не обя­зателен в исходной Кобол-программе.

  1. Секция конфигурации

Секция конфигурации располагается в разделе оборудования исходной программы. Секция конфигурации связана с характерис­тиками исходной машины и рабочей машины. В этой секции также обеспечиваются средства спецификации валютного знака; выбора символа для десятичной точки; |спецификации специальных сим- | |волических / литер; | установления соответствия между мнемони­ческими именами, задаваемыми пользователем, и именами реали­зации; установления соответствия имени алфавита набору литер и (или) основной последовательности; установление соответствия имени класса набору литер. Секция конфигурации не обязательна в разделе оборудования исходной Кобол-программы.

Общий формат секции конфигурации приводится ниже.

CONFIGURATION SECTION.

[SOURCE-COMPUTER, [статья-исходной-машины] ] [OBJECT-COMPUTER, [статья-объектной-машины] I

[SPECIAL-NAMES, [статья-специальных-имен] ]

СЕКЦИЯ КОНФИГУРАЦИИ.

[ИСХОДНАЯ-МАШИНА, [статья-исходной-машины] ]

[РАБОЧАЯ-МАШИНА, [статья-объектной-машины] ]

[СПЕЦИАЛЬНЫЕ-ИМЕНА. [статья-специальных-имен] ]

Секция конфигурации не должна содержаться в программе, ко­торая косвенно или непосредственно содержится в другой програм­ме.

Статьи, явно или неявно присутствующие в секции конфигура­ции программы, включающей другие программы, относятся к каж­дой содержащейся программе.

  1. Параграф SOURCE-COMPUTER (ИСХОДНАЯ-МАШИ­НА)

    1. Назначение

Параграф SOURCE-COMPUTER (ИСХОДНАЯ-МАШИНА) описывает вычислительную машину, на которой должна компили­роваться программа.

  1. Общий формат

SOURCE-COMPUTER, [имя-машины [WITH DEBUGGING MODE].]

ИСХОДНАЯ-МАШИНА. [имя-машины [В РЕЖИМЕ ОТЛАДКИ].]

  1. С и н т а к с и ч е с к о е правило

Имя-машины является системным именем.

  1. О б щ и е правила

  1. Все фразы, явно или неявно указанные в параграфе SOURCE-COMPUTER (ИСХОДНАЯ-МАШИНА), применимы как в программе, в которой они указаны, так и в любой содержа­щейся в ней программе.

  2. Если параграф SOURCE-COMPUTER (ИСХОДНАЯ-МА­ШИНА) не определен и программа не содержится в другой про­грамме, содержащей такой параграф, то машина, на которой будет компилироваться исходная программа, является исходной маши­ной.

  3. Если параграф SOURCE-COMPUTER (ИСХОДНАЯ-МА­ШИНА) определен, но фраза, указывающая машину, не определе­на, то машина, на которой будет компилироваться исходная про­грамма, будет исходной машиной.

  4. Если в программе указана фраза WITH DEBUGGING MO­DE (В РЕЖИМЕ ОТЛАДКИ), то все отладочные строки компили­руются так, как это определено в настоящем документе для ядра (п. 7.1 настоящей части).

  5. Если в программе не указана фраза WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ) и программа не включается в другую программу, содержащую такую фразу, то отладочные стро­ки компилируются как комментарии.

  1. Параграф OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА)

    1. Назначение

Параграф OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА) обес­печивает средства описания машины, на которой программа будет выполняться. Фраза MEMORY SIZE (РАЗМЕР ПАМЯТИ) рас­сматривается в настоящем стандарте как устаревший элемент стандарта и будет удалена в последующей редакции стандарта.

  1. Общий формат

OBJECT-COMPUTER, [имя-машины

W

[MEMORY SIZE целое-1

ORDS CHARACTERS ] MODULES

[PROGRAM COLLATING SEQUENCE IS имя-алфавита-Цф РАБОЧАЯ-МАШИНА, [имя-машины

СЛОВ

Л

[РАЗМЕР ПАМЯТИ целое-1

ИТЕР ]

МОДУЛЕЙ

[ПРОГРАММНЫЙ АЛФАВИТ имя-алфавита-1 ]. ]

  1. Синтаксические правила

  1. Имя-машины является системным именем.

  1. Общие правила

  1. Имя-машины может служить для определения конфигура­ции оборудования; в этом случае имя-машины и ее подразумевае­мая конфигурация задаются каждой реализацией. Определение конфигурации содержит специальную информацию, касающуюся размера памяти.

Если подмножество, задаваемое пользователем, меньше мини­мальной конфигурации, требуемой для выполнения объектной про­граммы, необходимые меры определяются реализацией.

  1. Все фразы параграфа OBJECT-COMPUTER (РАБОЧАЯ- МАШИНА) применяются к программе, в которой они явно или не­явно определены, и к любой содержащейся в ней программе.

  2. При отсутствии параграфа OBJECT-COMPUTER (РАБО­ЧАЯ-МАШИНА) в программе и во всех программах, включающих данную программу, рабочая машина определяется реализацией.

  3. Если параграф OBJECT-COMPUTER (РАБОЧАЯ-МАШИ­НА) указан, но фраза, определяющая рабочую машину, не указа­на, рабочая машина определяется реализацией.

  4. При наличии фразы PROGRAM COLLATING SEQUENCE (ПРОГРАММНЫЙ АЛФАВИТ) в программе используется основ­ная последовательность, заданная именем-алфавита, указанным в этой фразе.

  5. При отсутствии фразы PROGRAM COLLATING SEQUEN­CE (ПРОГРАААМНЫЙ АЛФАВИТ) используется внутренняя ос­новная последовательность.

  6. Если задана фраза PROGRAM COLLATING SEQUENCE (ПРОГРАММНЫЙ АЛФАВИТ), то для определения значения ис­тинности нечисловых сравнений, явно указанных в условиях отно­шения (п. 6.3.1.1 настоящей части), явно указанных в условиях имени-условия (п. 6.3.1.3 настоящей части) или неявно указанных наличием фразы CONTROL (УПРАВЛЕНИЕ) в статье описания отчета (ч. 13, п. 3.7), используется основная последовательность, определяемая именем алфавита.

  7. Программная основная последовательность, определенная в параграфе OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА), при­меняется к любым нечисловым ключам сортировки или слияния, ес­ли в соответствующих операторах SORT (СОРТИРОВАТЬ) или MERGE (СЛИТЬ) не задана фраза COLLATING SEQUENCE (АЛФАВИТ) (ч. 11, пп. 4.1, 4.4).

  1. Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА)

    1. Назначение

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

  1. Общий формат

SPECIAL-NAMES, [[имя-реализации-1

IS мнемоническое-имя-1 [ON STATUS IS имя-условия-1

[OFF STATUS IS имя-условия-2] ]

IS мнемоническое-имя-2 [OFF STATUS IS имя-условия-2 [ON STATUS IS имя-условия-1]] i

ON STATUS IS имя-условия-1 [OFF STATUS IS имя-условия-2]

OFF STATUS IS имя-условия-2 [ON STATUS IS имя-условия-1][ALPHABET имя-алфавита-1 IS

NATIVE имя-реализации-2


■ литерал-1

’ I THROUGH ]

1 THRU І литерал-2

1 ALSO литерал-3 . . .


STANDARD-1

STANDARD-2

STANDARD-R


[SYMBOLIC CHARACTERS {{{символическая-литера-1} . . .


254 ГОСТ 22558-89


IIS

I ARE

{целое-1} [IN имя-алфавита-2]}] . ..


CLASS имя-класса-1 IS { литерал-4


[CURRENCY SIGN IS литерал-6]


[DECIMAL-POINT IS COMMA], ]


THROUGH THRU


литерал-5
















СПЕЦИАЛЬНЫЕ-ИМЕНА. [ [имя-реализации-1


ЕСТЬ мнемоническое-имя-1

ВКЛЮЧЕНО]

R17n У имя-условия-

1

ВЫКЛЮЧЕНО]

ВЫКЛ 1 ИМЯ‘УСЛОВИЯ'2

(

ЕСТЬ мнемоническое-имя-2

ВЫКЛЮЧЕНО]

] ВЫКЛ I ИМЯ‘УСЛОВИЯ'

2

' (ВКЛЮЧЕНО


ВКЛ


имя-условия-1




ВКЛЮЧЕНО ]

I имя-условия-1

ВЫКЛЮЧЕНО ]

ВЫКЛ I ИМЯ‘УСЛОВИЯ"

2

ВЫКЛЮЧЕНО

ВЫКЛ


И ВКЛЮЧЕНО]

I ВКЛ ” }ИМЯСЛОВИЯ

1

ГОСТ 22558-89 С. 255








256


[АЛФАВИТ имя-алфавита-1


СТАНДАРТ-А СТАНДАРТ-М СТАНДАРТ-Р ВНУТРЕННИЙ

имя-реализации-2


ПО литерал-2 |

{ТАКЖЕ литерал-3}... (

[СИМВОЛИЧЕСКАЯ ЛИТЕРА {{ {символическая-литера-1}.. . ЕСТЬ {целое-1} ...}... [ИЗ имя-алфавита-2]}] ...


литерал-1


256 ГОСТ 22558-89


[КЛАСС имя-класса-1 ЕСТЬ {литерал-4 [ПО литерал-5]}...]...

[ВАЛЮТНЫЙ ЗНАК литерал-6]

[ДЕСЯТИЧНАЯ ТОЧКА ЗАПЯТАЯ]. ]















  1. Синтаксические правила

  1. Если имя-реализации-1 относится к внешнему переключа­телю, то соответствующее мнемоническое имя может быть указано только в операторе SET (УСТАНОВИТЬ).

  2. Если имя-реализации-1 не относится к внешнему переклю­чателю, то соответствующее мнемоническое имя может быть ука­зано только в операторах ACCEPT (ПРИНЯТЬ), DISPLAY (ВЫ­ДАТЬ), SEND (ПОСЛАТЬ), WRITE (ПИСАТЬ).

  3. Во фразе имя-алфавита одно и то же значение литерала может указываться только один раз.

  4. Если во фразе имя-алфавита указаны литералы, то: