Статус документа
Статус документа

ГОСТ 22558-89 (СТ СЭВ 6184-88, ИСО 1989-85) Язык программирования Кобол. Части 1-7

     2.2. Список элементов в модуле ядра

Элемент

Уровень 1

Уровень 2

ПОНЯТИЯ ЯЗЫКА

Набор литер

Литеры, используемые для слов

в английской нотации 0-9, A-Z, - (дефис)

x

x

в русской нотации А-Я, D, F, G, I, J, L, N, Q,  R, S, U, V, W, Y, Z, 0-9, - (дефис)

x

x

Литеры, используемые для пунктуации " ( ) . , ; пробел

x

x

Литеры, используемые для пунктуации : (двоеточие)

-

x

Литеры, используемые для редактирования В + - . , Z (П) * 0 CR (КР) DB (ДБ) /

x

x

Литеры, используемые в арифметических операциях + - * / **     

-

x

Литеры, используемые в отношениях = >= <=> <

x

x

Литеры, используемые при индексировании + -

x

x

Разрешена замена одной литерой

x

х

Разрешена замена парами литер

+

+

Разделители

" ( ) . , ; пробел

x

x

: (двоеточие)

-

x

Строки-литер

Слова Кобола

Не более 30 литер

х

х

Слова, определенные пользователем

имя-алфавита

x

х

имя-класса

х

х

имя-условия

-

х

имя-данного

x

х

имя-индекса

x

х

номер-уровня

х

x

мнемоническое-имя

х

х

имя-параграфа

x

x

имя-программы

x

x

имя-программного-модуля

+

+

имя-секции

x

x

символическая-литера

-

х

Системные-имена

имя-машины

х

х

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

x

х

имя-языка

+

+

Зарезервированные слова

Обязательные слова

x

х

Ключевые слова

x

х

Слова специальные литеры

Знаки арифметических операций + - * / **

-

х

Знаки арифметических операций при индексировании + -

x

x

Литеры отношения = > < >= <=

x

x

Необязательные слова

x

x

Слова специального назначения

Стандартные константы:

ZERO (НУЛЬ), ZEROS, ZEROES (НУЛИ), SPACE (ПРОБЕЛ), SPACES (ПРОБЕЛЫ), HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ), HIGH-VALUES (НАИБОЛЬШИЕ-ЗНАЧЕНИЯ), LOW-VALUE (НАИМЕНЬШЕЕ-ЗНАЧЕНИЕ), LOW-VALUES (НАИМЕНЬШИЕ-ЗНАЧЕНИЯ), QUOTE (КАВЫЧКА), QUOTES (КАВЫЧКИ)

x

х

Стандартные константы: символическая-литера, ALL литерал (ВСЕ литерал), ALL стандартная-константа (ВСЕ стандартная-константа), ALL символическая-литера (ВСЕ символическая-литера)

-

х

Литералы

Числовые литералы: от 1 до 18 цифр

x

x

Нечисловые литералы: от 1 до 160 литер

х

x

PICTURE строка-литер (ШАБЛОН строка-литер)

x

x

Статья-комментарий

+

+

Однозначность ссылки

Уточнение

Уточнение недопустимо, имена должны быть однозначны при ссылке

х

-

50 уточнителей

-

х

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

3 уровня индексов

x

-

7 уровней индексов

-

х

Индексирование литералом

х

x

Индексирование именем-данного

х

х

Индексирование именем индекса

х

х

Относительное индексирование

x

х

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

-

x

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

Порядковый номер

x

x

Продолжение строк

Нечисловой литерал

x

x

Слова Кобола, числовой литерал, строка-литер шаблона

-

x

Строки пробелов (пустые строки)

x

x

Строки комментария

Строки комментария со звездочкой (*)

x

x

Строки комментария с дробной чертой (/)

x

x

Отладочная строка с литерой D (Т) в поле индикатора

x

x

Структура исходной программы

Раздел идентификации обязателен

x

x

Раздел оборудования необязателен

x

x

Раздел данных необязателен

x

x

Раздел процедур необязателен

x

x

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

-

x

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

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

x

x

имя-программы

x

x

Параграф AUTHOR (АВТОР)

+

+

Параграф INSTALLATION (ПРЕДПРИЯТИЕ)

+

+

Параграф DATE-WRITTEN (ДАТА-НАПИСАНИЯ)

+

+

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

-

+

Параграф SECURITY (ПОЛНОМОЧИЯ)

+

+

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

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

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

x

х

имя-машины

x

x

фраза WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ)

x

x

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

х

х

имя-машины

х

х

фраза MEMORY SIZE (РАЗМЕР ПАМЯТИ)

+

+

фраза PROGRAM COLLATING SEQUENCE (ПРОГРАММНЫЙ АЛФАВИТ)

x

x

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

х

х

Фраза ALPHABET (АЛФАВИТ)

х

х

вариант STANDARD-1 (СТАНДАРТ-А)

х

х

вариант STANDARD-2 (СТАНДАРТ-М)

х

х

вариант NATIVE (ВНУТРЕННИЙ)

х

х

вариант имя-реализации

x

х

вариант литерал

-

x

Фраза CLASS (КЛАСС)

x

x

Фраза CURRENCY SIGN (ВАЛЮТНЫЙ ЗНАК)

х

х

Фраза DECIMAL-POINT (ДЕСЯТИЧНАЯ ТОЧКА)

x

x

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

x

x

вариант IS мнемоническое-имя

x

x

вариант ON STATUS IS имя-условия (ВКЛЮЧЕНО имя-условия)

x

x

вариант OFF STATUS IS имя-условия (ВЫКЛЮЧЕНО имя-условия)

x

x

Фраза SYMBOLIC CHARACTER (СИМВОЛИЧЕСКАЯ ЛИТЕРА)

-

x

РАЗДЕЛ ДАННЫХ

Секция рабочей памяти

Статья-описания записи

x

x

Статья описания уровня 77

x

x

Статья описания данного

Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ)

x

x

Фраза имя-данного

x

x

Фраза FILLER (ЗАПОЛНИТЕЛЬ)

x

x

Фраза JUSTIFIED (СДВИНУТО)

x

x

Фраза номер-уровня

x

x

от 01 до 49; одна или две цифры

x

x

66

-

x

77

x

x

88

-

x

Фраза-OCCURS (ПОВТОРЯЕТСЯ)

x

x

целое TIMES (целое РАЗ)

x

x

фраза ASCENDING/DESCENDING KEY (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА)

-

x

фраза INDEXED BY (ИНДЕКСИРУЕТСЯ)

x

x

фраза-целое-1 ТО целое-2 TIMES DEPENDING  ON (целое-1 ДО целое-2 РАЗ В ЗАВИСИМОСТИ ОТ)

-

х

Фраза PICTURE (ШАБЛОН)

x

x

строка-литер содержит не более 30 литер

x

x

литеры данных: X 9 А

x

x

операционные символы: S(3) V(T) P(M)

x

x

литеры фиксированной вставки В + -. 0 CR (КР) DB (ДБ) /

x

x

литеры замещения или плавающей вставки* + - Z (П)

x

x

замена валютного знака

x

x

замена десятичной точки

x

x

Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ)

x

x

не может быть вложенной

x

-

может быть вложенной

-

х

Фраза RENAMES (ПЕРЕИМЕНОВЫВАЕТ)

-

х

Фраза SIGN (ЗНАК)

x

x

Фраза SYNCHRONIZED (ВЫДЕЛЕНО)

x

x

Фраза USAGE (об использовании)

x

x

BINARY (ДВОИЧНОЕ)

x

x

COMPUTATIONAL (ДЛЯ ВЫЧИСЛЕНИЙ)

x

x

DISPLAY (ДЛЯ ВЫДАЧИ)

x

x

INDEX (ДЛЯ ИНДЕКСА)

x

x

PACKED-DECIMAL (ДЕСЯТИЧНОЕ)

x

x

Фраза VALUE (ЗНАЧЕНИЕ)  

x

x

литерал  

x

x

несколько литералов

-

x

литерал-1 THROUGH литерал-2 (литерал-1 ПО литерал-2)   

-

x

несколько диапазонов литералов  

-

x

РАЗДЕЛ ПРОЦЕДУР

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

-

x

Знаки бинарных арифметических операций + - * / **

-

x

Знаки унарных арифметических операций + -

-

x

Условные выражения

x

x

Простое условие   

x

x

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

x

x

Знаки операций отношения

[NOT] GREATER THAN ([НЕ] БОЛЬШЕ)

x

x

[NOT] > ([НЕ] >)     

x

x

[NOT]  LESS THAN ([НЕ] МЕНЬШЕ)

x

x

[NOT] < ([НЕ] <)   

x

x

[NOT] EQUAL TO ([NE] РАВНО)

x

x

[NOT]  = ([НЕ] =)

x

x

GREATER THAN OR EQUAL TO (БОЛЬШЕ ИЛИ РАВНО)     

x

x

> =

x

x

LESS THAN OR EQUAL TO (МЕНЬШЕ ИЛИ РАВНО)   

x

x

< =

x

x

Сравнение числовых операндов

x

x

Сравнение нечисловых операндов

x

x

Сравнение имен индексов и (или) индексных данных

x

x

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

x

x

NUMERIC (ЧИСЛОВОЕ)

x

x

ALPHABETIC (БУКВЕННОЕ)

x

x

ALPHABETIC-LOWER (СТРОЧНЫЕ)

x

x

ALPHABETIC-UPPER (ПРОПИСНЫЕ)

x

x

имя-класса  

x

x

Условие имени-условия

-

x

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

-

x

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

x

x

Сложное условие   

-

x

Знаки логических операций AND (И) OR (ИЛИ) NOT (HE)   

-

x

Отрицание условия

-

x

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

-

x

Условие в скобках

х

x

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

-

x

Арифметические операторы

x

x

Арифметические  операнды имеют длину до 18 цифр

x

x

Композиция операндов содержит не более 18 цифр  

x

x

Оператор ACCEPT (ПРИНЯТЬ)   

x

x

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

x

x

только одна передача данных

x

-

число передач данных не ограничивается

-

x

фраза FROM, мнемоническое-имя (С мнемоническое-имя)  

-

х

фраза FROM DATE/DAY/DAY-OF-WEEK/TIME (ДАТУ/ДЕНЬ/ДЕНЬ/-НЕДЕЛИ/ВРЕМЯ)

-

x

Оператор ADD (СЛОЖИТЬ)

x

x

идентификатор/литерал

x

x

несколько идентификаторов/литералов

x

x

ТО идентификатор (С идентификатор)

x

x

ТО несколько идентификаторов (С несколько идентификаторов)

x

x

ТО идентификатор/литерал GIVING идентификатор (С идентификатор/литерал ПОЛУЧАЯ идентификатор       

х

x

ТО идентификатор/литерал GIVING несколько идентификаторов (С идентификатор/литерал ПОЛУЧАЯ несколько идентификаторов

x

x

фраза ROUNDED (ОКРУГЛЯЯ)

x

x

фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ)

x

x

фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ)

x

x

фраза END-ADD (КОНЕЦ-СЛОЖИТЬ)

x

x

фраза CORRESPONDING (СООТВЕТСТВЕННО)

-

x

Оператор ALTER (ИЗМЕНИТЬ)

+

+

только одно имя-процедуры

+

-

несколько имен-процедур

-

+

Оператор COMPUTE (ВЫЧИСЛИТЬ)  

-

x

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

-

x

несколько идентификаторов

-

x

 фраза ROUNDED (ОКРУГЛЯЯ)

-

x

фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ)

-

x

фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ)

-

х

фраза END-COMPUTE (КОНЕЦ-ВЫЧИСЛИТЬ)

-

x

Оператор CONTINUE (ПРОДОЛЖИТЬ)

x

х

Оператор DISPLAY (ВЫДАТЬ)

x

х

только одна передача данных    

x

-

число передач данных не ограничено

-

x

идентификатор/литерал      

x

x

несколько идентификаторов/литералов

х

x

фраза UPON мнемоническое-имя (НА мнемоническое-имя)

-

х

фраза WITH NO ADVANCING (БЕЗ ПРОДВИЖЕНИЯ)

-

x

Оператор DIVIDE (РАЗДЕЛИТЬ)

-

x

ВY идентификатор/литерал (НА идентификатор/литерал)   

x

x

INTO идентификатор/литерал (НА идентификатор/литерал)

х

x

INTO несколько делимых (НА несколько делимых)

х

x

GIVING идентификатор (ПОЛУЧАЯ идентификатор)

x

x

GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов)

x

х

фраза ROUNDED (ОКРУГЛЯЯ)

х

х

фраза REMAINDER (ОСТАТОК)

-

х

фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ)  

x

х

фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ)         

х

х

фраза END-DIVIDE (КОНЕЦ-РАЗДЕЛИТЬ)

х

х

Оператор ENTER (ВОЙТИ)  

+

+

Оператор EVALUATE (ОЦЕНИТЬ)

-

х

идентификатор/литерал

-

x

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

-

x

условное выражение

-

х

TRUE/FALSE (ИСТИНА/ЛОЖЬ)

-

х

фраза ALSO (ТАКЖЕ)

-

х

фраза WHEN (КОГДА)  

-

x

фраза ALSO (ТАКЖЕ)

-

x

фраза WHEN OTHER (ИНАЧЕ)

-

х

фраза END-EVALUATE (КОНЕЦ-ОЦЕНИТЬ)

-

х

Оператор EXIT (ВЫЙТИ)

x

x

Оператор GO TO (ПЕРЕЙТИ К)

х

х

имя-процедуры обязательно

x

-

имя-процедуры необязательно

-

+

фраза DEPENDING ON (В ЗАВИСИМОСТИ ОТ)

х

х

Оператор IF (ЕСЛИ)  

х

х

только повелительные операторы

х

-

повелительные и (или) условные операторы

-

x

вложенные операторы IF (ЕСЛИ)

х

х

необязательное слово THEN (TO)

х

х

фраза NEXT SENTENCE (СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ)

х

х

фраза ELSE (ИНАЧЕ)

х

х

фраза END-IF (КОНЕЦ-ЕСЛИ)  

х

х

Оператор INITIALIZE (ИНИЦИИРОВАТЬ)

-

x

несколько идентификаторов     

-

x

фраза REPLACING (ЗАМЕНЯЯ)

-

x

несколько REPLACING (ЗАМЕНЯЯ)

-

x

Оператор INSPECT (ПРОСМОТРЕТЬ)

x

x

на вхождение одной литеры

x

-

на вхождение нескольких литер  

-

x

фраза TALLYING (СЧИТАЯ)  

x

x

фраза BEFORE/AFTER (ДО/ПОСЛЕ)

x

x

несколько фраз BEFORE/AFTER (ДО/ПОСЛЕ)

-

x

несколько фраз TALLYING (СЧИТАЯ)

-

x

фраза REPLACING (ЗАМЕНЯЯ)

x

x

фраза BEFORE/AFTER (ДО/ПОСЛЕ)  

x

x

несколько фраз BEFORE/AFTER (ДО/ПОСЛЕ)       

-

x

несколько фраз REPLACING (ЗАМЕНЯЯ)

-

x

фразы TALLYING (СЧИТАЯ) и REPLACING (ЗАМЕНЯЯ)

x

x

фраза CONVERTING (ПРЕВРАЩАЯ)

-

x

Оператор MOVE (ПОМЕСТИТЬ)

x

x

ТО идентификатор (В идентификатор)

x

х

ТО несколько идентификаторов (В несколько идентификаторов)   

x

x

дередактирование цифровых редактируемых данных   

-

x

фраза CORRESPONDING (СООТВЕТСТВЕННО)

-

х

Оператор MULTIPLY (УМНОЖИТЬ)

x

x

BY идентификатор (НА идентификатор)

x

x

BY несколько идентификаторов (НА несколько идентификаторов)

х

x

GIVING идентификатор (ПОЛУЧАЯ идентификатор)

x

x

GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов)

х

x

фраза ROUNDED (ОКРУГЛЯЯ)

x

x

фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ)

x

x

фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ)  

х

x

фраза END-MULTIPLY (КОНЕЦ-УМНОЖИТЬ)

x

х

Оператор PERFORM (ВЫПОЛНИТЬ)

x

х

имя-процедуры необязательно

x

х

фраза THROUGH имя-процедуры (ПО имя-процедуры)

x

x

вариант повелительный-оператор

x

х

фраза END-PERFORM (КОНЕЦ-ВЫПОЛНИТЬ)  

x

x

фраза TIMES (РАЗ)

х

х

фраза UNTIL (ДО)     

x

x

фраза TEST BEFORE/AFTER (С ПРОВЕРКОЙ В НАЧАЛЕ/В КОНЦЕ)

-

x

фраза VARYING (МЕНЯЯ)

-

x

фраза TEST BEFORE/AFTER (С ПРОВЕРКОЙ В НАЧАЛЕ/В КОНЦЕ)

-

x

фраза AFTER (ЗАТЕМ)     

-

x

допускаются по крайней мере 6 фраз AFTER (ЗАТЕМ)

-

x

Оператор SEARCH (ИСКАТЬ)  

-

x

фраза VARYING (МЕНЯЯ)    

-

x

фраза AT END (В КОНЦЕ)

-

x

фраза WHEN (КОГДА)

-

x

несколько фраз WHEN (КОГДА)

-

x

фраза END-SEARCH (КОНЕЦ-ИСКАТЬ)

-

x

Оператор SEARCH ALL (ИСКАТЬ ОСОБО)

-

x

фраза AT END (В КОНЦЕ)

-

x

фраза WHEN (КОГДА)

-

x

фраза END-SEARCH (КОНЕЦ-ИСКАТЬ)

-

x

Оператор SET (УСТАНОВИТЬ)

x

x

имя-индекса/идентификатор ТО (НА)

x

x

имя-индекса UP BY/DOWN BY (имя-индекса ПРИБАВЛЯЯ/ВЫЧИТАЯ)

х

x

мнемоническое-имя ТО ON/OFF (мнемоническое-имя НА ВКЛЮЧЕНО/ВЫКЛЮЧЕНО)

х

x

имя-условия ТО TRUE (имя-условия НА ИСТИНА)        

-

x

Оператор STOP (ОСТАНОВИТЬ)

x

x

RUN (РАБОТУ)     

x

x

литерал   

+

+

Оператор STRING (СОБРАТЬ)

-

x

несколько DELIMITED BY  (ОГРАНИЧИВАЯСЬ)

-

x

фраза WITH POINTER (УКАЗАТЕЛЬ)  

-

x

фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ)

-

x

фраза NOT ON OVERFLOW (БЕЗ ПЕРЕПОЛНЕНИЯ)

-

x

фраза END-STRING (КОНЕЦ-СОБРАТЬ)

-

х

Оператор SUBTRACT (ОТНЯТЬ)

х

x

идентификатор/литерал

х

х

несколько идентификаторов/литералов

x

х

FROM идентификатор (ОТ идентификатор)

x

х

FROM несколько идентификаторов (ОТ несколько идентификаторов)

x

х

GIVING идентификатор (ПОЛУЧАЯ идентификатор)

x

х

GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов)

х

x

фраза ROUNDED (ОКРУГЛЯЯ)

х

х

фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ)

х

x

фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ)

х

x

фраза END-SUBTRACT (КОНЕЦ-ОТНЯТЬ)

x

x

фраза CORRESPONDING (СООТВЕТСТВЕННО)

-

х

Оператор UNSTRING (РАЗОБРАТЬ)

-

х

фраза DELIMITED BY (ОГРАНИЧИВАЯСЬ)

-

х

фраза DELIMITER IN (ОГРАНИЧИТЕЛЬ В)

-

х

фраза COUNT IN (СЧЕТ В)

-

х

фраза WITH POINTER (УКАЗАТЕЛЬ)

-

х

фраза TALLYING (СЧИТАЯ В)  

-

х

фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ)

-

х

фраза NOT ON OVERFLOW (БЕЗ ПЕРЕПОЛНЕНИЯ)

-

х

фраза END-UNSTRING (КОНЕЦ-РАЗОБРАТЬ)

-

х