Перейти до вмісту
ГОСТ 22558-89
/ 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 настоящей части).

За исключением имени параграфа, имени секции, номера уров­ня и номера сегмента, все слова, определенные пользователем, должны содержать по крайней мере одну буквенную литеру. Но­мера сегментов и номера уровней могут повторяться: представле­ние номера сегмента или номера уровня может совпадать с любым другим номером сегмента или номером уровня.

Имя условия

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

Побачили розбіжність з офіційним текстом?

Повідомити про неточність

Напишіть, що саме розходиться з офіційною публікацією. Код документа вкажіть у повідомленні — так ми швидше знайдемо потрібне місце.

Перейти до форми зворотного зв'язку

Дивіться також

Весь розділ →