ГОСТ 22558-89 сторінка 20 з 116
Имена условий могут быть определены в разделе данных или в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) раздела оборудования, где переключателям, определенным реализацией, должно быть приписано имя условия для состояния «включено» или «выключено», или для того и другого.
Имя условия используется для сокращения записи условия отношения, определяющего, что соответствующая условная переменная равна одному из множества значений, предписанных этому имени условия. Имя условия используется также в оператора SET (УСТАНОВИТЬ), указывая, что соответствующее значение должно быть помещено в условную переменную.
Мнемоническое имя
Мнемоническое имя — это слово, определенное пользователем, которое ставится в соответствие имени реализации. Это соответствие устанавливается в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) раздела оборудования (ч. 6, п. 4.5).
Имя параграфа
Именем параграфа является слово, которое называет параграф в разделе процедур. Имена параграфов эквивалентны тогда и только тогда, когда они составлены из одной и той же последовательности одного и того же количества цифр и (или) других литер.
Имя секции
Имя секции — слово, которое называет секцию в разделе процедур. Имена секций эквивалентны только тогда, когда они составлены из одной и той же последовательности одного и того же количества цифр и (или) других литер.
Другие имена, определяемые пользователем
Спецификации всех других типов слов, определяемых пользователем (см. ч. 3).
Систем н ые имена
Системным именем является слово Кобола, которое используется для связи с операционной средой. Правила для образования системных имен определяются реализацией с тем ограничением, что каждая литера, используемая при образовании системного имени, должна быть выбрана из набора литер для слов, определенных пользователем (см. п. 4.2.2.1.1 настоящей части), причем «-» не может быть первой или последней литерой системного имени.
Имеются следующие типы системных имен:
Имя машины;
Имя реализации;
Имя языка.
В каждой реализации эти.три типа,системных имен образуют непересекающиеся множества; отдельное. системное имя может принадлежать только одному из них. Для каждого из перечисленных типов системных имен имее.тся определение (см. ч. 3).
3 а р е з е р в и р о в а{н Н;ые\ слов а
Зарезервированным еловом ; является слово Кобола из определенного списка слов, которые могут быть использованы в исходной Кобол-программе, но которые не могут использоваться как слова, определяемые пользователем, или кар. системные имена. Зарезервированные слова могут, использоваться только в соответствии с общими форматами (п. 8.настоящей части).
Имеются следующие типы-зарезервированных слов:
Обязательные слова;
Необязательные слова; .....
Слова специального.назначения./
Обязательные слова. ...
Обязательное слово—это. слово, вхождение которого обязательно при использовании формата, содержащего это слово. Имеются два типа обязательных слов:
ключевые слова. В каждом формате такие слова записаны прописными буквами и подчеркнуты;
слова-специальные литеры. Это знаки арифметических операций и литеры отношения. ....
Необязательные слова
Внутри каждого из форматов слова, записанные прописными буквами и не подчеркнутые, называются необязательными и могут включаться в текст по желанию пользователя для придания тексту удобочитаемости. Наличие или отсутствие необязательного слова внутри формата не изменяет семантики Кобол-программы, в которой оно используется.
Слова специального назначения
Имеются два типа слов специального назначения:
Специальные регистры;
Стандартные константы.
Специальные регистры
Для ссылок на специальные регистры используются определенные зарезервированные слова. Специальными регистрами являются фиксированные поля памяти вычислительной машины, которые главным образом используются для запоминания информации, получаемой при выполнении специфических функций Кобола. Если не оговорено противное, для каждой программы создается один специальный регистр каждого типа. Специальный регистр может использоваться в общих форматах всюду,- где используются имена данных или идентификаторы, принадлежащие той же категории, что и специальный регистр, если не оговорено противное.
Если разрешаются уточнения, специальные регистры при необходимости могут уточняться для обеспечения однозначности (п. 4.3.8.1 настоящей части).
Специальными регистрами являются следующие:
DEBUG-ITEM (ДАННЫЕ-ОТЛАДКИ) (ч. 15, п. 1.3.2);
LINAGE-COUNTER (СЧЕТЧИК-ВЕРСТКИ) (ч. 7, п. 1.3.8);
LINE-COUNTER (СЧЕТЧИК-СТРОК) (ч. 13, п. 1.2.3);
PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) (ч. 13, п. 1.2.2).
Стандартные константы
Определенные зарезервированные слова используются для именования специальных констант и ссылок на них. Эти зарезервированные слова определены в п. 4.2.2.2.3 в настоящей части.
Литералы
Литерал — строка литер, значение которой определяется упорядоченным набором литер, из которых она составлена, или спецификацией зарезервированного слова, являющегося стандартной константой. Каждый литерал принадлежит к одному из двух видов: числовому или нечисловому.
Н е ч и с л о в ы е литералы
Нечисловой литерал определяется как ограниченная кавычками слева и справа строка литер. Реализация должна допускать длину литерала от одной до 160 литер. Длина нечислового литерала относится к его представлению в объектной программе.
Общий формат
«{литера-1}...»
Синтаксические правила
Литера-1 может быть любой литерой из набора литер машины.
Если литера-1 должна представлять литеру кавычек, для представления одной литеры кавычек должны использоваться две следующие друг за другом литеры кавычек.
Общие правила
Значением нечислового литерала в рабочей программе является значение, представляемое литерой-1.
Ограничивающие нечисловой литерал кавычки не являются частью значения нечислового литерала.
Все нечисловые литералы относятся к буквенно-цифровой категории.
Числовые литералы
Числовой литерал определяется как строка литер, состоящая из цифр от 0 до 9, знака плюс, знака минус и десятичной точки. Реализация должна разрешать длину числового литерала от 1 до 18 цифр. Правила образования числового литерала следующие:
литерал должен содержать по меньшей мере одну цифру;
литерал не должен содержать более одной литеры знака.
Если указан знак, то он должен быть самой левой литерой в литерале. Если литерал не имеет знака, то он является положительным;
литерал не должен содержать более одной десятичной точки. Десятичная точка рассматривается как подразумеваемая десятичная точка и может занимать в литерале любую позицию, кроме самой правой. Если литерал не содержит десятичной точки, то он является целым числом.
Литерал, составленный по правилам для образования числовых литералов, но заключенный в кавычки, является нечисловым и обрабатывается компилятором как нечисловой;
значением числового литерала является алгебраическая величина, представленная литерами числового литерала. Каждый числовой литерал относится к числовой категории (ч. 6, п. 5.9.1).
Размер числового литерала в терминах литер стандартного формата данных равен количеству составляющих его цифр.
3 н а ч е н и я стандартных констант
. Значения стандартных констант генерируются компилятором. Пользователь может ссылаться на них посредством зарезервированных слов, приведенных ниже. Эти слова при использовании их в качестве стандартных констант не должны заключаться в кавычки. Единственная и множественная форма стандартных констант эквивалентны и могут при употреблении заменяться одна другой.
Значения стандартных констант и зарезервированнь1? слова, используемые для обращения к ним, следующие:
[ALL] ZERO, [ALL] ZEROES ([ВСЕ] НУЛЬ, [ВСЕ] НУЛИ) представляют числовое значение 0 или одну или более литер О из набора литер машины;
[ALL] SPACE, [ALL] SPACES ([ВСЕ] ПРОБЕЛ, [ВСЕ] ПРОБЕЛЫ) представляют одну или несколько литер пробела из набора литер машины;
[ALL] HIGH-VALUE, [ALL] HIGH-VALUES ([ВСЕ] НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ, [ВСЕ] НАИБОЛЬШИЕ-ЗНАЧЕ- НИЯ) — везде, за исключением параграфа SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА), представляют одну или несколько литер, имеющих наибольшую порядковую позицию в программной основной последовательности;
[ALL] LOW-VALUE, [ALL] LOW-VALUES ([ВСЕ] НАИ- МЕНЬШЕЕ-ЗНАЧЕНИЕ, [ВСЕ] НАИМЕНЬШИЕ-ЗНАЧЕНИЯ) ■— везде, за исключением параграфа SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА), представляют одну или несколько литер, имеющих наименьшую порядковую позицию в программной основной последовательности;
[ALL] QUOTE, : [ALL]; QUOTES ([ВСЕ] КАВЫЧКА, [ВСЕ] КАВЫЧКИ) представляет Одну или более литер. Слова QUOTE, QUOTES (КАВЫЧКА, КАВЫЧКИ) не могут использоваться вместо литер кавычек в исходной ^программе для ограничения нечислового литерала. Например/QUOTE ABC QUOTE (КАВЫЧКА АВС КАВЫЧКА) ne-является-йравильніям представлением нечислового литерала «АВС»;
ALL литерал (ВСЕ литерал) представляет всю строку или часть строки, генерируемой последовательной конкатенацией литер, образующих литерал. Литерал должен быть нечисловым. Литерал не может быть стандартной Константой;
[ALL] символическая-литера ([ВСЕ] символическая-лите- ра) представляет одну или! несколько литер, определяемых как значение этой символической литеры в фразе SYMBOLIC CHARACTERS (СИМВОЛИЧЕСКАЯ ЛИТЕРА) параграфа SPECIAL NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) (ч. 6, п. 4.5).
Когда стандартная константа представляет собой строку из одной или нескольких литер, длина такой строки определяется компилятором из контекста согласно следующим правилам:
когда стандартная константа указана в фразе VALUE (ЗНАЧЕНИЕ) или когда стандартной константе сопоставляется другое данное, например, в случае'перемещения или сравнения с некоторым данным, строка литер, представленная стандартной константой, повторяется литера за литерой вправо до тех пор, пока результирующая строка не станет' равной или большей по размеру (в литерах) соответствующему данному.
Затем результирующая строка усекается справа до размера (в литерах) соответствующего данного. Такое повторение выполняется независимо от фразы JUSTIFIED (СДВИНУТО), относящейся к этому данному. ... .
когда стандартная константа,: ’ отличная от ALL литерал (ВСЕ литерал), не сопоставляется с другим данным, например, в случае, когда она появляется в операторах DISPLAY (ВЫДАТЬ), STOP (ОСТАНОВИТЬ), STRING (СОБРАТЬ) или UNSTRING (РАЗОБРАТЬ), ее длина равна длине строки в одну литеру;
когда стандартная константа ALL литерал (ВСЕ литерал) не сопоставляется с другим данным, ее длина равна длине литерала.
Стандартная константа может использоваться всюду в форматах вместо литерала, за следующим исключением:
вместо числового литерала разрешается использовать только стандартную константу ZERO, ZEROS, ZEROES (НУЛЬ, НУЛИ);
сопоставление стандартной константы ALL литерал (ВСЕ литерал) при длине литерала больше одной литеры с числовым или числовым редактируемым данным рассматривается в настоящем стандарте как устаревшее средство. При следующем пересмотре стандарта оно будет исключено;
когда стандартная константа используется вместо литерала во фразе ALL литерал (ВСЕ литерал), слово ALL (ВСЕ) избыточно и используется только для удобочитаемости.
За исключением параграфа SPECIAL-NAMES (СПЕЦИАЛЬ- НЫЕ-ИМЕНА), в исходной программе, где используются стандартные константы HIGH-VALUE (НАИБОЛЫПЕЕ-ЗНАЧЕНИЕ) и LOW-VALUE (НАИМЕНЫИЕЕ-ЗНАЧЕНИЕ), действительные литеры, соотнесенные с каждой стандартной константой, зависят от определенного программного алфавита, (ч. 6, пп. 4.4.1, 4.5).
Каждое зарезервированное слово, которое используется для обращения к значению стандартной константы, является отдельной строкой литер, за исключением конструкций, использующих слово ALL (ВСЕ), таких как ALL литерал (ВСЕ литерал), ALL SPACES (ВСЕ ПРОБЕЛЫ) и т. п., которые состоят из двух отдельных строк литер.
Строка литер шаблона
Строка литер шаблона представляется определенной комбинацией набора литер Кобола, используемых в качестве символов, и валютным символом. Объяснение строки литер шаблона и правила, управляющие шаблоном, приведены ниже (ч. 6, п. 5.9).
Любая литера пунктуации, используемая в строке литер шаблона, рассматривается не как знак пунктуации, а как символ спецификации строки литер шаблона.
Статья-комментарий
Статья-комментарий — это статья в разделе идентификации, которая может быть любой комбинацией литер из набора литер вычислительной машины. Статья-комментарий рассматривается в настоящем стандарте как устаревший элемент и будет исключена при следующем пересмотре стандарта.
Понятие машинно-независимого описания данного
Чтобы сделать данные максимально машинно-независимыми, особенности или свойства данных описываются по отношению к стандартному формату данного, а не к формату, ориентированному на оборудование. Этот стандартный формат данного ориентирован на общие применения в обработке данных и использует десятичную систему для представления чисел (независимо от основания системы счисления, используемой в машине) и остальные литеры набора литер Кобола для изображения нечисловых данных.
Побачили розбіжність з офіційним текстом?