ГОСТ 22558-89 сторінка 19 з 116
Числовой литерал — литерал, состоящий из одной или более цифровых литер, который может также содержать десятичную точку или знак числа либо и то и другое. Десятичная точка не должна быть самой правой литерой. Если указан знак числа, он должен быть самой левой литерой.
Элемент таблицы — одно из набора повторяющихся данных, составляющих таблицу.
Элементарное данное — данное, которое рассматривается как логически неделимое.
Явная десятичная точка — физическое представление позиции десятичной точки в данном, использующее одну из литер, обозначающих десятичную точку в Коболе: «.» (точку) или «,» (запятую).
Явный ограничитель области действия — зарезервированное слово, которое заканчивает область действия определенного оператора раздела процедур.
Часть 4. ОСНОВНЫЕ ПОНЯТИЯ
ВВЕДЕНИЕ
Понятия языка и правила, описанные ниже, относятся к полному языку Кобол. Если отдельный уровень модуля не допускает какие-либо из этих понятий, то в части, описывающей этот модуль, указываются соответствующие ограничения. Всюду в настоящем документе определения, относящиеся к высшему уровню, выделены рамкой. Следует также отметить, что ограничения, содержащиеся в одном модуле, могут, вообще говоря, затрагивать другие модули. Например, на уровне 1 ядра недопустимы уточнения, поэтому любой модуль, используемый с уровнем 1 ядра, должен иметь такое же ограничение. Приведенные для отдельных операторов в настоящем документе схемы алгоритмов иллюстрируют логику соответствующих операторов и не являются указаниями о способах их реализации.
ОБОЗНАЧЕНИЯ, ИСПОЛЬЗУЕМЫЕ В ФОРМАТАХ И ПРАВИЛАХ
Определение общего формата
Общий формат — это определенное упорядочение элементов фразы или оператора. Элементы фразы или оператора определяются ниже. В настоящем документе формат рассматривается в связи с информацией, определяющей фразы или операторы. Если
допускается более одного определенного упорядочения, общий формат разделяется на перенумерованные форматы. Фразы должны записываться в последовательности, указываемой общими форматами. Если используются необязательные фразы, они должны подчиняться указанной последовательности. В определенных случаях, явно устанавливаемых правилами, фразы могут записываться в последовательности, отличной от указанной соответствующим форматом. Применение, требования или ограничения формулируются в виде правил.
Элементы
Элементы, составляющие фразу или оператор, представляются: словами, составленными из прописных букв; словами, составленными из строчных букв; номерами уровней; квадратными и фигурными скобками, связками и специальными литерами.
Слова
Все подчеркнутые слова из прописных букв называются ключевыми словами и обязательны при использовании форматов, частями которых они являются. Неподчеркнутыми словами из прописных букв пользоваться не обязательно; их можно не включать в исходную программу. Слова из прописных букв, независимо от •подчеркивания, должны быть написаны правильно.
Слова из строчных букв в общем формате являются общими терминами, используемыми для представления слов Кобола, литералов, строк литер шаблона, статей-комментариев или цельных синтаксических конструкций, задаваемых пользователем. При повторении общих терминов в общем формате к каждому из них добавляется номер или буква для идентификации этих терминов при объяснении или обсуждении.
Номера уровней
Если определенные номера уровней входят в форматы статей раздела данных, то именно они должны быть использованы в соответствующих статьях в Кобол-программе. В этом документе пары цифр 01, 02, .. . , 09 используют для задания номеров уровня от 1 до 9.
Квадратные, фигурные скобки и указатели выбора
Если часть общего формата заключена в квадратные скобки [ ], то один из вариантов, заключенных в скобки, может быть явно указан или эта часть общего формата может быть опущена.
Если часть общего формата заключена в фигурные скобки { }, то один из вариантов, заключенных в скобки, должен быть указан явно или неявно выбран.
Если выражение в фигурных скобках содержит только зарезервированные слова, не являющиеся ключевыми, то такой вариант
является вариантом по умолчанию, если только один из остальных вариантов не будет явно указан.
Указатели выбора {| |}, заключающие часть общего формата, означают, что должен быть сделан выбор одного или нескольких из заключенных в них вариантов, но каждый из вариантов может быть указан только один раз.
Варианты в общем формате или части общего формата указываются вертикально расположенными альтернативными возможностями, квадратными и фигурными скобками или указателями выбора, или комбинацией скобок и указателей выбора. Вариант выбирается определением одной из указанных альтернативных возможностей или определением однозначной комбинации возможностей из ряда квадратных, фигурных скобок или указателей выбора.
Многоточие
В тексте, за исключением форматов, многоточие (...) указывает на пропуск слова или слов, если такой пропуск не нарушает понимание текста. Это общепринятое значение многоточия и его назначение становится очевидным из контекста.
В общем формате многоточие представляет позицию, в которой допускается повторение. Часть формата, которая может повторяться, определяется следующим образом:
если в формате встречается многоточие, берется непосредственно слева от многоточия скобка ], } или |} и при продолжении просмотра справа налево определяется логически соответствующая [, { или {|; многоточие относится к части формата между определенной таким образом парой ограничителей.
Пунктуация в формате
Разделительная запятая и точка с запятой могут использоваться везде, где используется разделительный пробел в форматах (п. 4.2.1 настоящей части). В исходной программе эти разделители взаимозаменяемы.
Разделительная точка, используемая в форматах, имеет статус зарезервированного слова.
Использование с л о в-с п е ц и а л ь н ы х литер в форматах
Слова-специальные литеры +, —, >, С, =, > = , <= в форматах не подчеркиваются, однако они обязательны.
ПРАВИЛА
Синтаксические правила
Синтаксическими правилами являются такие правила, которые определяют или объясняют порядок расположения слов или элементов при образовании более крупных языковых конструкций, таких как фразы или операторы. Синтаксические правила также накладывают или снимают ограничения на отдельные слова или элементы.
Эти правила используются для определения или объяснения того, как должен быть записан оператор, то есть каков порядок элементов в нем и каковы ограничения или расширения на представление каждого элемента.
Общие правила
Общими правилами являются такие правила, которые определяют или объясняют смысл элементов или их взаимосвязь; они используются для определения или объяснения семантики операторов и действий, оказываемых ими на выполнение или компиляцию.
/ 4. ПОНЯТИЯ ЯЗЫКА
Набор литер
Основной и неделимой единицей языка является литера. Набор литер, используемых при образовании строк литер Кобола и разделителей, определен в глоссарии (см. ч. 3). Для нечисловых литералов, статей-комментариев и строк комментария набор литер расширяется и включает весь набор литер машины.
Литеры, допустимые для каждого типа строк литер и в качестве разделителей, определены в п. 4.2 настоящей части.
Некоторые литеры, составляющие набор литер Кобола, не могут быть представлены графически литерами национального или интернационального стандарта на набор литер. В таком случае допускается замена непредставимых литер.
Если набор литер содержит меньше 72 литер, недостающие литеры могут быть заменены парами литер. Такая замена рассматривается как устаревшее средство в этом варианте стандарта и будет исключена при следующем пересмотре стандарта.
Структура языка
Отдельные литеры языка связываются в строки литер и разделители. Разделители определяют границы строк литер. Допускается несколько идущих подряд разделителей. Последовательность строк литер и разделителей образует текст исходной программы.
Разделители
Разделителями является цепочка из одной или нескольких литер. Правила образования разделителей следующие:
литера пунктуации пробел является разделителем. Всюду, где пробел используется в качестве разделителя или части разделителя, может стоять несколько пробелов. Все пробелы, следующие непосредственно за разделителями: запятой, точкой с запятой 130
или точкой, -являются частью этих разделителей и не рассматриваются как отдельный разделительный пробел;
литеры пунктуации запятая (если она не используется в -строке литер шаблона) и точка с запятой, за которыми следует пробел, являются разделителями и могут использоваться везде, где используется разделитель пробел. Они могут использоваться для удобочитаемости программы;
литера пунктуации точка, за которой следует цробел, является разделителем (разделитель точка). Она должна использоваться только для указания конца предложения или там, где это указано в форматах;
литеры пунктуации правая и левая скобки являются разделителями. Скобки могут проставляться (при соблюдении баланса левых и правых скобок) как ограничители в арифметических выражениях, для условий, индексов и модификаторов ссылки;
литера пунктуации «(кавычки) является разделителем. Непосредственно перед открывающими кавычками должен стоять пробел или левая скобка; непосредственно за закрывающими кавычками, соответствующими открывающим кавычкам, должен стоять один из разделителей: пробел, запятая, точка с запятой, точка или правая скобка;
ограничители псевдотекста являются разделителями. Непосредственно перед открывающим ограничителем псевдотекста должен стоять пробел; за закрывающим ограничителем псевдотекста должен стоять один из разделителей: пробел, запятая, точка с запятой или точка.
Ограничители псевдотекста могут использоваться только в паре, ограничивая псевдотекст;
литера пунктуации двоеточие (:) является разделителем и должна использоваться только там, где это указано в общих форматах;
разделитель пробел может быть проставлен по желанию непосредственно перед любым разделителем, однако следует учитывать:
правила, определенные форматом представления (п. 7 настоящей части);
в случае разделителя «закрывающая кавычка» предшествующий пробел рассматривается как часть нечислового литерала, а не как разделитель;
в случае открывающего ограничителя псевдотекста предшествующий пробел необходим;
разделитель пробел может по желанию проставляться непосредственно за любым разделителем, за исключением открывающих кавычек, для которых пробел рассматривается как часть нечислового литерала, а не как разделитель.
Любая литера пунктуации, которая используется как часть спецификации строки литер шаблона или числового литерала, рассматривается не как литера пунктуации, а как символ, используемый в спецификации строки литер шаблона или числового литерала. Строки литер шаблона ограничиваются только разделителями: пробелом,запятой,точкой с запятой или точкой.
Правила, установленные для образования разделителей, не применяются к литерам, которые составляют нечисловые литералы, статьи-комментарии или строки комментария.
Строки литер
Строка литер есть литера или последовательность смежных литер, которые образуют литерал, слово Кобола, строку литер шаблона или статью-комментарий. Строка литер ограничивается разделителями.
Слова Кобола
Словом Кобола является строка литер, состоящая не более чем из 30 литер и образующая слово, определенное пользователем, системное имя или зарезервированное слово. Каждая литера слова Кобола принадлежит набору букв, цифр и дефиса. Дефис не может быть первой или последней литерой слова. Каждая строчная буква рассматривается как эквивалент соответствующей ей прописной буквы. В исходной программе зарезервированные слова и слова, определенные пользователем, образуют непересекаю- щиеся множества; системные имена и слова, определенные пользователем, образуют пересекающиеся множества. Одно и то же слово Кобола может использоваться как системное имя и как слово, определенное пользователем, внутри исходной программы. Отдельное появление такого слова Кобола классифицируется контекстом статьи или фразы, в котором оно появляется.
Слова, определенные пользователем
Словом, определенным пользователем, является слово Кобола, задаваемое пользователем в соответствии с форматом фразы или оператора. Каждая литера такого слова выбирается для английской нотации из набора литер А, ..., Z, 0, 1, ..., 9, - (для русской нотации из набора литер А, . . ., Я, D, F, G, I, J, L, N, Q, R, S, U, V, W, Y, Z, 0, 1, 2, ..., 9, -). Слово не может начинаться или заканчиваться дефисом. Имеются следующие типы слов, определенных пользователем:
Имя алфавита;
Имя библиотеки;
Имя данного;
Имя записи;
Имя индекса;
Имя класса;
Имя коммуникации;
Имя отчета;
Имя параграфа;
Имя программного модуля;
Имя программы;
Имя секции; , .
Имя текста;
Имя условия;
Имя файла;
Мнемоническое имя;
Номер сегмента;
Номер уровня;
Символическая литера.
Внутри заданной исходной программы, за исключением любой содержащейся в ней программы, определенные пользователем слова группируются в следующие непересекающиеся множества:
Имена алфавитов;
Имена библиотек;
Имена индексов;
Имена классов;
Имена коммуникаций;
Имена отчетов;
Имена параграфов;
Имена программных модулей;
Имена программ;
Имена секций; і
Имена текстов;
Имена условий, имена данных, имена записей;
Имена файлов;
Мнемонические имена;
Символические литеры.
Все слова, определенные пользователем, за исключением номеров сегментов и номеров уровней, могут принадлежать только одному из этих непересекающихся множеств. Кроме того, все слова, определенные пользователем, в данном непересекающемся множестве либо не должны дублироваться, либо должны допускать установление однозначности, определяемое правилами однозначности ссылок (п. 4.3.8 настоящей части).
За исключением имени параграфа, имени секции, номера уровня и номера сегмента, все слова, определенные пользователем, должны содержать по крайней мере одну буквенную литеру. Номера сегментов и номера уровней могут повторяться: представление номера сегмента или номера уровня может совпадать с любым другим номером сегмента или номером уровня.
Имя условия
Имя условия — имя, поставленное в соответствие специальному значению, множеству значений или области значений внутри полного множества значений, допустимых для некоторого имени данного. Само имя данного называется условной переменной.
Побачили розбіжність з офіційним текстом?