ГОСУДАРСТВЕННЫЙ СТАНДАРТ
СОЮЗА ССР

ЯЗЫК ПРОГРАММИРОВАНИЯ
КОБОЛ

ГОСТ 22558—89
(СТ СЭВ 6184—88, ИСО 1989—85)
ЧАСТИ 1—7

Издание официальное

5 р. 90



ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО УПРАВЛЕНИЮ
КАЧЕСТВОМ ПРОДУКЦИИ И СТАНДАРТАМ
Москв

а


УДК 681.3.06:006.354 Группа П85

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

Г

ЯЗЫК ПРОГРАММИРОВАНИЯ КОБОЛ

Programming language COBOL

ОСТ
22558—89
(СТ СЭВ

6184—88,
ИСО 1989—85)

ОКСТУ 40Ю2.

Дата введения 01.01.91

Часть 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ

  1. ВВЕДЕНИЕ К СТАНДАРТУ

    1. Область действия и назначение

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

  1. Структура спецификаций языка

Организация спецификаций Кобола в настоящем документе ба­зируется на понятии функционального обрабатывающего модуля. В языке выделены одиннадцать функциональных обрабатываю­щих модулей:

ядро;

последовательный ввод-вывод;

относительный ввод-вывод;

индексный ввод-вывод;

межпрограммные связи;

сортировка-слияние;

обработка исходных текстов;

генератор отчетов;

коммуникации;

отладка;

сегментация.

Девять из модулей, как указано ниже, содержат элементы, ко­торые в модуле разделены на элементы уровня 1 и элементы уров-

Издание официальное

★ © Издательство стандартов, 1991

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен без разрешения Госстандарта СССР ня 2. Элементы уровня 1 модуля являются подмножеством эле­ментов уровня 2 того же модуля; два модуля содержат только эле­менты уровня 1.

Модуль ядра содержит элементы языка для внутренней обра­ботки данных в базисной структуре четырех разделов программ. Ядро также содержит элементы языка для определения таблиц и доступа к ним. Элементы ядра разделены на два уровня. Уровень 1 ядра содержит элементы, необходимые для выполнения основ­ных внутренних операций, т. е. элементарные варианты различных фраз и операторов. Уровень 2 ядра обеспечивает более широ­кие возможности внутренней обработки данных.

Модуль последовательного ввода-вывода содержит элементы языка для определения файлов с последовательной организацией и доступа к ним. Элементы модуля последовательного ввода-вы­вода разделены на два уровня. Уровень 1 модуля последователь­ного ввода-вывода включает элементы для основных возможностей определения и доступа к последовательным файлам. Уровень 2 мо­дуля последовательного ввода-вывода содержит элементы для полных возможностей определения и доступа к последовательным файлам.

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

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

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

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

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

Модуль генератора отчетов содержит элементы языка для по­луавтоматического производства печатных отчетов. Модуль гене­ратора отчетов содержит элементы только одного уровня.

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

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

Модуль сегментации обеспечивает совмещение памяти для сек­ций раздела процедур во время выполнения. Элементы модуля сег­ментации разделены на два уровня. Уровень 1 сегментации преду­сматривает номера сегментов секций и фиксированные границьь сегментов. Уровень 2 сегментации добавляет средства изменения границы сегментов.

  1. Структура документа

Настоящий документ состоит из 17 частей.

Часть 1 содержит справочные сведения о языке и состоит из= введения к стандарту и списка элементов языка.

Часть 2 представляет концепции, имеющие отношение к исполь­зованию и организации средств языка Кобол.

Часть 3 состоит из глоссария, определяющего термины в соот­ветствии с их значением в Коболе.

Часть 4 содержит общие сведения.

Часть 5 содержит сводки форматов в английской и русской но­тациях.

Части 6—16 содержат спецификации одиннадцати функциональ­ных обрабатывающих модулей. В этих частях спецификации уров­ня 2 выделены рамкой.

В частях 2—16 включены подробные спецификации стандарта языка Кобол. В части 17 содержатся приложения.

  1. Рекомендации по использованию текста стандарта

Очевидно, что стандарт будет изучаться с нескольких различ­ных точек зрения.

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

Спецификация каждого из элементов языка производится как для русской, так и для английской нотаций. Там, где это требуется в тексте настоящего стандарта, приводятся форматы. Между кон­струкциями английской и русской нотаций языка Кобол, специфи­цированных настоящим стандартом, существует полное семанти­ческое соответствие, если исходные данные объектной програм­мы подготовлены без использования русского алфавита. Там, где в тексте требуется ссылка на лексические элементы языка, первым приводится лексический элемент английской нотации, за ним в скобках следует элемент русской нотации. Форматы языковых кон­струкций приводятся также для английской и русской нотаций. Спецификации особенностей использования данных, представлен­ных в русской лексике, снабжаются пометкой «для русской нота­ции».

Определение модулей и их уровней, на которых появляются оп­ределенные средства языка, приводится в списке элементов Кобо­ла по разделам Кобола. В этом списке приведены в деталях все элементы стандарта языка Кобол и указано их появление в раз­личных модулях. Элементы, не содержащиеся полностью на одном уровне модуля, приведены в деталях, достаточных для определе­ния нахождения каждого подэлемента. Например, оператор READ (ЧИТАТЬ) появляется на уровне 1 модуля последователь­ного ввода-вывода, относительного ввода-вывода и индексного вво­да-вывода. Так как определенные фразы оператора READ (ЧИ­ТАТЬ) появляются только на уровне 2 этих модулей, подэлементы оператора READ (ЧИТАТЬ) вынесены в отдельный список.

Графическое представление 11 функциональных обрабатыва­ющих модулей, образующих стандарт Кобола, показано в табл. 1, в которой используются сокращения (например, 2 ИПД 0,2), ука­зывающие иерархическую позицию каждого уровня в функцио­нальном обрабатывающем модуле, также как и число уровней, на которые разделены элементы модуля. Сокращенная запись сос­тоит (слева направо) из однозначного числа, указывающего пози­цию уровня в иерархии, трехбуквенного обозначения модуля и двух однозначных чисел, указывающих минимальный и макси­мальный уровни модуля. Число нуль указывает, что допустимо пустое подмножество, соответствующее наименьшему уровню в модуле. Например, 2 ИПД 0,2 указывает, что этот уровень явля­ется вторым уровнем модуля индексного ввода-вывода, который содержит нулевой уровень и два ненулевых уровня (уровень 1 и уровень 2). 2 Я ДР 1,2 указывает, что этот уровень является вто­рым ненулевым уровнем ядра, которое состоит из двух ненулевых уровней (уровень 1 и уровень 2).

Для указания модулей используются следующие обозначения.

Ядро ЯДР

Последовательный ввод-вывод ПОД

Относительный ввод-вывод ОТД

Индексный ввод-вывод ИПД

Межпрограммные связи МПС

Сортировка-слияние СРТ

Обработка исходных текстов ОИТ

Генератор отчетов ГОТ

Коммуникации КОМ

Отладка ОТЛ

Сегментация СЕГ




Обязательн ые (обязательны в под

Подмножества Кобола

Ядро

Последова­тельный ввод-вывод

Относитель­ный ввод-вывод

Индексный ввод-вывод

Межпрограм­мные связи


Максималь­ное

2 ЯДР 1.2

2 ПОД 1,2

2 ОТД 0,2

2 ИПД 0,2

2 МПС 1,2


Промежу­точное

1 ЯДР 1,2

1 ПОД 1,2

1 ОТД 0,2

I ИПД 0.2

1 МПС 1,2


Минималь­ное

1 ЯДР 1,2

1 ПОД 1,2

Нуль (пус­тое под­множество)

Нуль (пус­тое под­множество)

1 МПС 1,2




  1. Определение реализации стандарта языка Кобол

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

1.5.1.Определение подмножеств

Имеются три подмножества стандарта языка Кобол: макси­мальное подмножество, промежуточное подмножество и мини­мальное подмножество. Каждое подмножество состоит из уровня семи обязательных модулей: ядра, последовательного ввода-выво­да, относительного ввода-вывода, индексного ввода-вывода, меж­программных связей, сортировки-слияния и обработки исходных текстов. В табл. 1 подмножество стандарта языка Кобол представ­лено одной из трех горизонтальных строк в столбцах обязательных модулей. Четыре модуля (генератор отчетов, коммуникации, от­ладка и сегментация) являются необязательными в трех подмно­жествах стандарта языка Кобол.