УСТАНОВИТЬ {имя-индекса-3}..

идентификатор-3

целое-2

У

(ПРИБАВЛЯЯ ' I ВЫЧИТАЯ

СТАНОВИТЬ {{мнемоническое-имя-1} .. . НА

1 ВКЛЮЧЕНО 1

( ВЫКЛЮЧЕНО / } • • •

УСТАНОВИТЬ {имя-условия-1}... НА ИСТИНА 2.11.37

СОРТИРОВАТЬ имя-файла-1

[ [ ВОЗРАСТАНИЮ 1 л о 1

| по УБЫВАНИЮ I КЛЮЧА {имя-данного-1} ...J .

[С ДУБЛИРОВАНИЕМ]

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

ПРОЦЕДУРА ВВОДА имя-процедуры-1 [ПО имя-процедуры-2]

ИСПОЛЬЗУЯ {имя-файла-2}...

ПРОЦЕДУРА ВЫВОДА имя-процедуры-3

[ПО имя-процедуры-4]

. ПОЛУЧАЯ {имя-файла-3}...

2.11.38


П

КЛЮЧ

ОДВЕСТИ ЗАПИСЬ имя-файла-1

[ПРИ ОШИБКЕ КЛЮЧА повелительный-оператор-1] [БЕЗ ОШИБКИ КЛЮЧА повелительный-оператор-2] [КОНЕЦ-ПОДВЕСТИ]


2.11.39

ОСТАНОВИТЬ J РАБ0ТУ [ литерал-1

2.11.40

и

СОБРАТЬ {

дентификатор! 1 ОГРАНИЧИВАЯСЬ

литерал-1 J

идентификатор-2 литерал-2 РАЗМЕРОМ

В идентификатор-3 [УКАЗАТЕЛЬ идентификатор-4] [ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор-1 ] [БЕЗ ПЕРЕПОЛНЕНИЯ повелительный-оператор-2] [КОНЕЦ-СОБРАТЬ]

2.11.41 птнатк ( литерал-1 ]

и1НЯ1Ь| идентификатор-1 / ■ • ■ ОТ (идентификатор-2 [ОКРУГЛЯЯ]}...

[ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор-1] [БЕЗ ПЕРЕПОЛНЕНИЯ повелительный-оператор-2] [КОНЕЦ-ОТНЯТЬ]

л

ОТНЯТЬ

итерал-1 1 от ! литерал-2 1

идентификатор-1 / ( идентификатор-2 )

ПОЛУЧАЯ {идентификатор-3 [ОКРУГЛЯЯ]}. ..

[ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор-1] [БЕЗ ПЕРЕПОЛНЕНИЯ повелительный-оператор-2] [КОНЕЦ-ОТНЯТЬ]

идентификатор-1


СООТВЕТСТВЕННО

СООТВ


ОТНЯТЬ



ОТ идентификатор-2 [ОКРУГЛЯЯ]

[ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор-1]


[БЕЗ ПЕРЕПОЛНЕНИЯ повелительный-оператор-2] [КОНЕЦ-ОТНЯТЬ]

2.11.42

ПОДАВИТЬ ПЕЧАТЬ

2.11.43

ЗАКОНЧИТЬ {имя-отчета-1}...

2.11.44

РАЗОБРАТЬ идентификатор-1

ОГРАНИЧИВАЯСЬ [ВСЕМИ] | идентификатор-21

[ литерал-1 J

ИЛИ [ВСЕМИ! [ нлеи-гифика-гор-ЗП

[ литерал-2 J J ' ’ ’

В {идентификатор-4 [ОГРАНИЧИТЕЛЬ В идентификатор-5]

[СЧЕТ В идентификатор-6]} ...

[УКАЗАТЕЛЬ идентификатор-7]

[СЧИТАЯ В идентификатор-8]

[ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор-1] [БЕЗ ПЕРЕПОЛНЕНИЯ повелительный-оператор-2]

[ КОНЕЦ-РАЗОБРАТЬ] 2.11.45

ИСПОЛЬЗОВАТЬ [ГЛОБАЛЬНО] ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ .


{имя-файла-1}... ВХОДНЫХ

для

ВЫХОДНЫХ

ВХОДНЫХ-ВЫХОДНЫХ

ДОПОЛНЯЕМЫХ

ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ

ОШИБКИ

{

для

имя-файла-1}. .. ВЫХОДНЫХ ДОПОЛНЯЕМЫХ

ИСПОЛЬЗОВАТЬ [ГЛОБАЛЬНО] ДО ВЫДАЧИ идентификатор-1

ИСПОЛЬЗОВАТЬ ДЛЯ ОТЛАДКИ ПРИ

имя-коммуникации-1

[ВСЕХ ССЫЛКАХ НА] идентификатор-1 имя-файла-1 ...

имя-процедуры-1

ВСЕХ ПРОЦЕДУРАХ

2.11.46

ПИСАТЬ имя-записи-1 [ИЗ ПОЛЯ идентификатор-1]

() ПРОДВИЖЕНИЯ

HOCi/ln

' і идентификатор-2 1 строк

I целое-1 ]

I мнемоническое-имя-1 ]

I СТРАНИЦЫ J

[В КОНЦЕ СТРАНИЦЫ повелительный-оператор-1]

[НЕ В КОНЦЕ СТРАНИЦЫ повелительный-оператор-2]

[КОНЕЦ-ПИСАТЬ]

ПИСАТЬ имя-записи-1 [ИЗ ПОЛЯ идентификатор-1]

[ПРИ ОШИБКЕ КЛЮЧА повелительный-оператор-1]

[БЕЗ ОШИБКИ КЛЮЧА повелительный-оператор-2]

[КОНЕЦ-ПИСАТЬ]

  1. Общий формат операторов КОПИРОВАТЬ и ЗАМЕНИТЬ

КОПИРОВАТЬ имя-текста-1 [ИЗ имя-библиотеки-1] = = псевдотекст-1 = =

ЗАМЕНЯЯ ИДЄНТИфиКаТОр'1

литерал-1

слово-1


=

НА

= псевдотекст-2 = = идентификатор-2 литерал-2

слово-2

2.12.2

ЗАМЕНИТЬ {= = псевдотекст-1 = = НА = = псевдотекст-2 = = } ...

ОТКЛЮЧИТЬ ЗАМЕНИТЬ

  1. Общий формат условий

    1. Условие отношения

J[HE] БОЛЬШЕ

J [НЕ] МЕНЬШЕ

[НЕ] РАВНО

да] >

ИНЕ] < да] = [БОЛЬШЕ ИЛИ РАВНО

=

^МЕНЬШЕ ИЛИ РАВНО


идентификатор-1

литерал-1

арифметическое- выражение-1

имя-иидекса-1



идентификатор-1 [НЕ]


ЧИСЛОВОЕ БУКВЕННОЕ СТРОЧНЫЕ ПРОПИСНЫЕ имя-класса-1

н и-у с л о в и я


идентификатор-2

литерал-2

арифметическое- выражение-2

имя-индекса-2

  1. Условие класса

  2. У с л о в и е име имя-условия-1

У с л о в и е состояния переключателя имя-условия-

  1. 1Условие знака

П

арифметическое-выражение-1 [НЕ]

ОЛОЖИТЕЛЬНО ОТРИЦАТЕЛЬНО НУЛЬ
  1. О т р и ц а н и е условия

НЕ условие-1

  1. К о м б и н и р о в а н н о е условие

НИ, ] 1

условие-1 j і ИЛИ I Условие-2 [ • • •

  1. Сокращенное комбинированное условие отношения

ИИ ] условие-отношения і или I ГНЕ] [знак-операции-отношения]

объект

  1. Общий формат уточнения

Формат 1

{ИЗ имя-данного-2}...

Г [ имя-файла-1

( имя-данного-1 ] [имя-коммуникации-1

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

ИЗ (имя-файла-1 1

[имя-коммуникации-1 1

Формат 2

имя-параграфа-1 ИЗ имя-секции-1

Формат 3

имя-текста-1 ИЗ имя-библиотеки-1

Формат 4

СЧЕТЧИК-ВЕРСТКИ ИЗ имя-файла-2

Формат 5

С

ИЗ имя-отчета-1

ЧЕТЧИК-СТРАНИЦ

СЧЕТЧИК-СТРО

К



Формат 6

( ИЗ имя-данного-4 [ИЗ имя-отсчета-2] имя-данного-3 j щ имя-отчета-2

  1. Прочие форматы

    1. Индексирование

ц

имя-данного-1

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

елое-1

имя-данного-2 [{±} целое-2] имя-индекса-1 ]{±} целое-3]

  1. М о д и ф и к а ц и я ссылки имя-данного-1 (позиция-самой-левой-литеры: [длина]).

  2. Идентификатор

имя-данного-1 [ИЗ имя-данного-2] ...

и

[ИЗ

мя-коммуникации-1 ' имя-файла-1

имя-отчета-1

[ ({индекс}. .. ) ] [ (позиция-самой-левой-литеры: [длина]).

  1. Общий формат вложенных исходных программ

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

ПРОГРАММА, имя-программы-1 [НАЧАЛЬНАЯ].

[РАЗДЕЛ ОБОРУДОВАНИЯ-

содержимое-раздела-оборудования]

[РАЗДЕЛ ДАННЫХ, содержимое-раздела-данных]

[РАЗДЕЛ ПРОЦЕДУР, содержимое-раздела-процедур] [[вложенная-исходная-программа] ...

КОНЕЦ ПРОГРАММЫ имя-программы-Е]

  1. Общий формат вложенной-исходной-программы

Р

[ ОБЩАЯ

( НАЧАЛЬНАЯ

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

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

[РАЗДЕЛ ОБОРУДОВАНИЯ- содержимое-раздела-оборудования]

[РАЗДЕЛ ДАННЫХ, содержимое-раздела-данных]

[РАЗДЕЛ ПРОЦЕДУР, содержимое-раздела-процедур] [вложенная-исходная-программа] ...

КОНЕЦ ПРОГРАММЫ имя-программы-2.

  1. Общий формат последовательности исходных программ

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

ПРОГРАММА, имя-программы-3 [НАЧАЛЬНАЯ].

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

содержимое-р аздел а-оборудов ания]

[РАЗДЕЛ ДАННЫХ, содержимое-раздела-данных]

[РАЗДЕЛ ПРОЦЕДУР, содержимое-раздела-процедур]

[вложенная-исходная-программа] ...

КОНЕЦ ПРОГРАММЫ имя-программы-3.)...

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

ПРОГРАММА, имя-программы-4 [НАЧАЛЬНАЯ].

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

содержимое-раздела-оборудования]

[РАЗДЕЛ ДАННЫХ, содержимое-раздела-данных]

[РАЗДЕЛ ПРОЦЕДУР, содержимое-раздела-процедур]

[ [вложенная-исходная-программа] ...

КОНЕЦ ПРОГРАММЫ имя-программы-4.]

Часть 6. ЯДРО

  1. ВВЕДЕНИЕ В МОДУЛЬ ЯДРА

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

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

  1. Характеристика уровней

Уровень 1 ядра предоставляет ограниченные возможности па­раграфа SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) и ста­тьи описания данных. В разделе процедур уровень 1 ядра предос­тавляет ограниченные возможности операторов ACCEPT (ПРИ­НЯТЬ), ADD (СЛОЖИТЬ), ALTER (ИЗМЕНИТЬ), DISPLAY (ВЫДАТЬ), DIVIDE (РАЗДЕЛИТЬ), IF (ЕСЛИ), MOVE (ПО­МЕСТИТЬ), MULTIPLY (УМНОЖИТЬ), PERFORM (ВЫПОЛ­НИТЬ) и SUBTRACT (ОТНЯТЬ) и полные возможности операто­ров CONTINUE (ПРОДОЛЖИТЬ), ENTER (ВОИТИ), EXIT (ВЫЙТИ), GO ТО (ПЕРЕЙТИ) и STOP (ОСТАНОВИТЬ). Уро­вень 1 ядра не обеспечивает всех возможностей Кобола для уточ­нений, правил образования имен данных и стандартных констант. Уровень 1 ядра предоставляет возможности доступа к элементам трехмерных таблиц фиксированной длины. Уровень 1 ядра предос­тавляет возможности отладки, состоящие из переключателя, дей­ствующего во время компиляции, и отладочных строк.

Уровень 2 ядра предоставляет полные возможности парагра­фа SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) и статьи описания данных. В разделе процедур уровень 2 предоставляет ! полные возможности операторов ACCEPT (ПРИНЯТЬ), ADD (СЛОЖИТЬ), ALTER (ИЗМЕНИТЬ), COMPUTE (ВЫЧИС­ЛИТЬ), DISPLAY (ВЫДАТЬ), DIVIDE (РАЗДЕЛИТЬ), EVA­LUATE (ОЦЕНИТЬ), IF (ЕСЛИ), INITIALIZE (ИНИЦИИ­РОВАТЬ), INSPECT (ПРОСМОТРЕТЬ), MOVE (ПОМЕС­ТИТЬ), MULTIPLY (УМНОЖИТЬ), PERFORM (ВЫПОЛ­НИТЬ), SEARCH (ИСКАТЬ), SET (УСТАНОВИТЬ), STRING (СОБРАТЬ), SUBTRACT (ОТНЯТЬ), UNSTRING (РАЗОБ­РАТЬ). Уровень 2 ядра предоставляет полные возможности уточнений, правил образования имен данных и стандартных кон­стант. Уровень 2 ядра предоставляет возможности доступа к элементам таблиц до семи измерений.

  1. Ограничения по уровням, касающиеся общих характеристик -языка

    1. Набор литер

Литера Кобола двоеточие (:) не включена в уровень 1. J Литера Кобола двоеточие (:) допустима на уровне 2, |

  1. П р е д с т а в л е н и е имен

Уточнение не допускается на уровне 1.

На уровне 1 все определяемые пользователем слова, к которым -имеется обращение, за исключением номеров уровней и номеров сегментов, должны быть уникальны. На уровне 2 допускается 50 уточнителей. На этом уровне определяемые пользователем слова зиогут быть не уникальны.

  1. С т а н д а р т н ы е константы

На уровне 1 могут быть использованы следующие стандартные константы: ZERO (НУЛЬ), ZEROS (НУЛИ), ZEROES (НУЛИ), SPACE (ПРОБЕЛ), SPACES (ПРОБЕЛЫ), HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ), HIGH-VALUES (НАИБОЛЬ- ШИЕ-ЗНАЧЕНИЯ), LOW-VALUE (НАИМЕНЫПЕЕ-ЗНАЧЕ- НИЕ), LOW-VALUES (НАИМЕНЬШИЕ-ЗНАЧЕНИЯ), QUOTE (КАВЫЧКА) и QUOTES (КАВЫЧКИ). |На уровне 2 могут быть' і использованы следующие стандартные константы: ZERO J (НУЛЬ), ZEROS (НУЛИ), ZEROES (НУЛИ), SPACE (ПРО­БЕЛ), SPACES (ПРОБЕЛЫ), HIGH-VALUE (НАИБОЛЬШЕЕ- ЗНАЧЕНИЕ), HIGH-VALUES (НАИБОЛЬШИЕ-ЗНАЧЕНИЯ), LOW-VALUE (НАИМЕНЫИЕЕ-ЗНАЧЕНИЕ), LOW-VALUES (НАИМЕНЬШИЕ-ЗНАЧЕНИЯ), символическая литера, ALL (ВСЕ) литерал, ALL (ВСЕ) стандартная константа и ALL (ВСЕ) символическая литера, QUOTE (КАВЫЧКА), QUOTES (КАВЫЧКИ),

  1. Индексы

На уровне 1 допускаются один, два или три индекса. | {-[а уровне 2 допускаются от одного до семи индексов.

  1. М о д и ф и к а ц и я ссылки

Модификация ссылки допускается только на уровне 2, j

  1. Формат представления

На уровне 1 слово, числовой литерал или строка-литер шабло­на не могут разбиваться для переноса их части на следующую» строку.) На уровне 2 слово, числовой литерал или строка-литер шаблона могут быть разбиты для переноса на следующую строку.

  1. ИСХОДНАЯ ПРОГРАММА НА КОБОЛЕ

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

Исходная программа на Коболе представляет собой набор син­таксически правильных операторов Кобола.

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

За исключением операторов COPY (КОПИРОВАТЬ), REPLA­CE (ЗАМЕНИТЬ) и заголовка конца программы, операторы, ста­тьи, параграфы и секции исходной Кобол-программы делятся на-. 4 раздела, расположенных в следующем порядке:

  1. раздел идентификации;

  2. раздел оборудования;

  3. раздел данных;

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

  1. Структура

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

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

раздел-идентификации

[раздел-оборудования]

[раздел-данных]

[раздел-процедур]

I [заголовок-конца-программы] |

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

  1. Общие термины раздел-идентификации, раздел-оборудова­ния, раздел-данных, раздел-процедур и заголовок-конца-програм­мы означают соответственно раздел идентификации Кобола, раз­дел оборудования Кобола, раздел данных Кобола, раздел проце­дур Кобола I и заголовок конца программы Кобола. |

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

  1. Начало раздела в программе идентифицируется соответст­венно заголовком раздела. Конец раздела идентифицируется:

а) заголовком следующего раздела программы;

<б) заголовком конца программы;

в) такой физической позицией, после которой нет больше строк исходной программы.

' (2) В последовательности программ все отдельно компили-

’ руемые программы должны быть ограничены заголовком конца программы за исключением последней программы в последова- [ тельности.

  1. Заголовок конца программы

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

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

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

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

КОНЕЦ ПРОГРАММЫ имя-программы.