Перейти до вмісту
ГОСТ 22558-89
/ 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 CHA­RACTERS (СИМВОЛИЧЕСКАЯ ЛИТЕРА) параграфа SPE­CIAL 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).

Любая литера пунктуации, используемая в строке литер шаб­лона, рассматривается не как знак пунктуации, а как символ спе­цификации строки литер шаблона.

Статья-комментарий

Статья-комментарий — это статья в разделе идентификации, которая может быть любой комбинацией литер из набора литер вычислительной машины. Статья-комментарий рассматривается в настоящем стандарте как устаревший элемент и будет исключена при следующем пересмотре стандарта.

Понятие машинно-независимого описания данного

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

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

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

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

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

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

Весь розділ →