Очевидно, что стандарт будет изучаться с нескольких различных точек зрения.
Ключом к изучению стандарта, кроме оглавления, служит также список элементов по модулям, в котором содержится подробная конкретизация каждого элемента стандарта Кобола в данном модуле. Например, установить содержание уровня 1 модуля последовательного ввода-вывода можно, найдя список элементов Кобола, включающий общие сведения, статьи раздела оборудования, статьи раздела данных и глаголы раздела процедур, имеющие отношение к модулю последовательного ввода-вывода.
Спецификация каждого из элементов языка производится как для русской, так и для английской нотаций. Там, где это требуется в тексте настоящего стандарта, приводятся форматы. Между конструкциями английской и русской нотаций языка Кобол, специфицированных настоящим стандартом, существует полное семантическое соответствие, если исходные данные объектной программы подготовлены без использования русского алфавита. Там, где в тексте требуется ссылка на лексические элементы языка, первым приводится лексический элемент английской нотации, за ним в скобках следует элемент русской нотации. Форматы языковых конструкций приводятся также для английской и русской нотаций. Спецификации особенностей использования данных, представленных в русской лексике, снабжаются пометкой "для русской нотации".
Определение модулей и их уровней, на которых появляются определенные средства языка, приводится в списке элементов Кобола по разделам Кобола. В этом списке приведены в деталях все элементы стандарта языка Кобол и указано их появление в различных модулях. Элементы, не содержащиеся полностью на одном уровне модуля, приведены в деталях, достаточных для определения нахождения каждого подэлемеита. Например, оператор READ (ЧИТАТЬ) появляется на уровне 1 модуля последовательного ввода-вывода, относительного ввода-вывода и индексного ввода-вывода. Так как определенные фразы оператора READ (ЧИТАТЬ) появляются только на уровне 2 этих модулей, подэлементы оператора READ (ЧИТАТЬ) вынесены в отдельный список.
Графическое представление 11 функциональных обрабатывающих модулей, образующих стандарт Кобола, показано в табл.1, в которой используются сокращения (например, 2 ИПД 0,2), указывающие иерархическую позицию каждого уровня в функциональном обрабатывающем модуле, также как и число уровней, на которые разделены элементы модуля. Сокращенная запись состоит (слева направо) из однозначного числа, указывающего позицию уровня в иерархии, трехбуквенного обозначения модуля и двух однозначных чисел, указывающих минимальный и максимальный уровни модуля. Число нуль указывает, что допустимо пустое подмножество, соответствующее наименьшему уровню в модуле. Например, 2 ИПД 0,2 указывает, что этот уровень является вторым уровнем модуля индексного ввода-вывода, который содержит нулевой уровень и два ненулевых уровня (уровень 1 и уровень 2). 2 ЯДР 1,2 указывает, что этот уровень является вторым ненулевым уровнем ядра, которое состоит из двух ненулевых уровней (уровень 1 и уровень 2).
Для указания модулей используются следующие обозначения.
Ядро | ЯДР |
Последовательный ввод-вывод | ПОД |
Относительный ввод-вывод | ОТД |
Индексный ввод-вывод | ИПД |
Межпрограммные связи | МПС |
Сортировка-слияние | СРТ |
Обработка исходных текстов | ОИТ |
Генератор отчетов | ГОТ |
Коммуникации | КОМ |
Отладка | ОТЛ |
Сегментация | СЕГ |
Таблица 1
Подмно- | Обязательные модули (обязательны в подмножествах) | Необязательные модули (не обязательны в подмножествах) | |||||||||
Ядро | Последо- | Относи- | Индексный ввод- | Межпрог- | Сорти- | Обра- | Гене- | Коммуни- | Отладка | Сегмен- | |
Макси- | 2 ЯДР 1,2 | 2 ПОД 1,2 | 2 ОТД 0,2 | 2 ИПД 0,2 | 2 МПС 1,2 | 1 СРТ 0,1 | 2 ОИТ 0,2 | 1 ГОТ 0,1 | 2 КОМ 0,2 | 2 ОТЛ 0,2 | 2 СЕГ 0,2 |
Проме- | 1 ЯДР 1,2 | 1 ПОД 1,2 | 1 ОТД 0,2 | 1 ИПД 0,2 | 1 МПС 1,2 | 1 СРТ 0,1 | 1 ОИТ 0,2 | 1 КОМ 0,2 | 1 ОТЛ 0,2 | 1 СЕГ 0,2 | |
Мини- | 1 ЯДР 1,2 | 1 ПОД 1,2 | Нуль (пустое подмно- | Нуль (пустое подмн- | 1 МПС 1,2 | Нуль (пустое подмно- | Нуль (пустое подмно- |