282 ГОСТ 22558—89
П
ГОСТ 22558—89 С. 283
родолжение
Второй символ |
Допустимость предшествования’.первого символа |
||||||||||||||||||||||||||||||||||||||||||
Символы фиксированной вставки |
Символы плавающей вставки’ |
Другие символы |
|||||||||||||||||||||||||||||||||||||||||
В |
0 |
/ |
- |
|
(+} |
|
< CR 1 (КР) 1 DB ( 1 (ДВ) J |
в. |
1 Z 1 (П) * 1 |
[ Z 1 (П) 1 * 1 |
{+} |
1±| |
в. зн |
в. зн |
9 |
А X |
S (а) |
V (Т) |
р (М) |
р (М) |
|||||||||||||||||||||||
і Другие СИМВОЛЫ |
9 |
X |
X |
X |
1 1 ІХ |
х |
х |
— |
— |
х |
х |
— |
х |
.— |
х |
— |
х |
х |
х |
X |
— |
X |
|||||||||||||||||||||
А X |
X |
X |
— |
— |
___ |
— |
— |
— |
— |
— |
— |
— |
— |
X |
X |
— |
— |
— |
— |
||||||||||||||||||||||||
S(3) |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
-- |
•— |
— |
.... |
— |
— |
— |
—. |
— |
||||||||||||||||||||||
V(T) |
х |
х |
х |
х |
— |
х |
— |
— |
х |
X |
—. |
X |
х |
— |
х |
— |
х |
— |
х |
— |
|||||||||||||||||||||||
Р(М) |
х |
—■ |
X |
X |
— |
х |
—. |
— |
х |
X |
— |
х |
— |
х |
— |
х |
|
X |
— |
х |
— |
||||||||||||||||||||||
Р(М) |
— |
— |
— |
— |
X |
— |
— |
X |
— |
— |
— |
— |
|
—- |
—- |
— |
X |
X |
— |
X |
В секции файлов эта фраза не должна использоваться в статьях уровня 01.
В секции коммуникаций эта фраза не должна использоваться в статьях уровня 01.
Статья описания данного для имени-данного-2 не может содержать фразу OCCURS (ПОВТОРЯЕТСЯ). | Однако имя- данного-2 может подчиняться данному, статья описания которого содержит фразу OCCURS (ПОВТОРЯЕТСЯ). При этом, однако, имя-данного-2 во фразе REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) не должно индексироваться.
Как исходное определение, так и переопределение не долж- ны включать данные переменного размера.
Если данное имя-данного-2 описано как внешнее либо имеет уровень, отличный от 01, то число содержащихся в нем позиций литер должно быть больше или равно числу позиций литер данного, определенного именем-данного-1. Если данное имя-данного-2 имеет уровень 01 и не является внешним, то такого ограничения нет.
Имя-данного-2 не должно уточняться, даже если оно неоднозначно, так как в этом случае благодаря расположению фразы REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) в исходной прог- рамме двусмысленности не будет.
Допустимы множественные переопределения одних и тех же позиций литер. Множественные переопределения одних и тех же позиций литер должны использовать имя-данного статьи, в которой впервые была определена область памяти.
Статьи, дающие новые описания позиций литер, не должны содержать фразу VALUE (ЗНАЧЕНИЕ), за исключением статей описаний имен-условий.
Между статьями описания имени-данного-2 и субъекта статьи не может появляться статья, имеющая номер-уровня, численно меньший номера уровня имени-данного-2 и субъекта статьи.
Статьи, дающие новые описания позиций литер, должны следовать за статьей, определяющей область имени-данного-2, без промежуточных статей, описывающих новые позиции литер.
Для уровня 1 ядра имя-данного-2 не может быть подчинено статье, содержащей фразу REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ).
Для уровня 2 ядра имя-данного-2 может быть подчинено ста- тье, содержащей фразу REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ).
5.10.4.Общие правила
(1) Распределение памяти начинается с имени-данного-2 и продолжается на область памяти, достаточную для размещения данного, определяемого именем-данного-1 или фразой FILLER (ЗАПОЛНИТЕЛЬ).то же время имя-данного-3 не может входить в группу, определяемую именем-данного-2.
. Общие правила
Если имя-данного-3 задано, то имя-данного-1 является именем группы, которая содержит все элементарные данные, начиная от имени-данного-2 (если имя-данного-2 является элементарным данным) или первого элементарного данного в име- ни-данного-2 (если имя-данного-2 является именем группы) и заканчивая именем-данного-3 (если имя-данного-3 является элементарным данным) или последним элементарным данным в имени-данного-3 (если имя-данного-3 относится к групповому данному).
Если имя-данного-3 не указано, то все свойства данного, определенного именем-данного-2, становятся свойствами данно- го, определенного именем-данного-1.
Фраза SIGN (ЗНАК)
Назначение
Фраза SIGN (ЗНАК) определяет позицию и способ представления знака числа, если эти сведения необходимо явно задать.
Общий формат
[SIGN IS] [ ! [SEPARATE CHARACTER]
11 I 1 x2A. liN Д I
^іітажднйй) і°ТДЕЛЬН°і
С и н т а к с и ч е с к и е правила
Фраза может быть задана только в статьях описания числовых данных, строка литер шаблона которых содержит литеру S(3), или в статьях описания групповых данных, содержащих хоть одну статью описания числовых данных вышеуказанного типа.
Статьи описания числовых данных, содержащие фразу SIGN (ЗНАК), должны быть описаны явно или неявно с использованием DISPLAY (ДЛЯ ВЫДАЧИ). ,
Если в описании файла указана фраза CODE-SET (АЛФАВИТ), то статьи описания входящих в его записи числовых данных со знаком должны содержать фразу SEPARATE (ОТДЕЛЬНО).
Общие правила
Фраза SIGN (ЗНАК) необязательна; она определяет позицию и способ представления знака числового данного, в статье описания которого она встречается, или числовых данных, подчиненных групповому данному, статья описания которого содержит эту фразу. Фраза SIGN (ЗНАК) применяется только к статьям описания числовых данных, строка литер шаблона которых содержит символ S (3), указывающий на наличие знака числа, но не на его способ представления или позицию.
Если фраза SIGN (ЗНАК) указана для группового данного, подчиненного другому групповому данному, для которого фраза SIGN (ЗНАК) тоже указана, то фраза, определенная на младшем уровне иерархии, подавляет фразу SIGN (ЗНАК), указанную на старшем уровне иерархии.
Если фраза SIGN (ЗНАК) указана в статье описания элементарного числового данного, подчиненного групповому данному, для которого фраза SIGN (ЗНАК) тоже указана, то фраза SIGN (ЗНАК), определенная в статье описания элементарного числового данного подавляет фразу SIGN (ЗНАК) группового данного.
Если статья описания числового данного не содержит фразу SIGN (ЗНАК), а строка литер его шаблона содержит символ S(3), то позиция и представление знака (по умолчанию) определяются реализацией. Общие правила п. 5.12.4 не применимы к таким данным.
Если вариант SEPARATE (ОТДЕЛЬНО) не указан, то предполагается, что знак числа связывается с первой (или, соотч ветственно, последней) позицией цифры элементарного числового данного; символ S (3) в строке-литер шаблона не учитывается при определении размера данного (в терминах числа литер стандартного формата данного); представление знака данного определяет реализация.
Если вариант SEPARATE (ОТДЕЛЬНО) указан, то знак числа будет занимать первую (или, соответственно, последнюю) позицию литеры элементарного числового данного; эта позиция литеры не является позицией цифры; символ S (3) в строке-литер шаблона учитывается при определении размера данного (в терминах числа литер стандартного формата данного); положительный или отрицательный знак числа представляют литеры стандартного формата данных + или —.
Все необходимые преобразования при выполнении вычислений или сравнений для данных, статьи описания которых содержат фразу SIGN (ЗНАК) и символ S (3) в строке литер-шаблона, выполняются автоматически.
Фраза SYNCHRONIZED (ВЫДЕЛЕНО)
Назначение
Фраза SYNCHRONIZED (ВЫДЕЛЕНО) определяет выравнивание элементарного данного по естественным границам машинной памяти (см. ч. 4, п. 4.3.7)
Общий формат
I SYNCHRONIZED ) Г LEFT '
I SYNC J RIGHT
ВПРАВО
ВЛЕВО
ВЫДЕЛЕНО
С и н т а к с и ч е с к и е правила
Эта фраза может появляться только в статье описания элементарного данного.
SYNC является сокращением слова SYNCHRONIZED.
Общие правила
Фраза определяет, что при создании внутреннего формата данного процессор Кобола должен разместить это данное в последовательных единицах памяти таким образом, что никакое другое данное не может появиться ни в одной единице памяти между левой и правой естественными границами, заключающими это данное. Если данное по размеру занимает не всю память между заключающими его естественными границами, то неиспользованные единицы памяти (или части их) не могут быть использованы для другого данного.
Такая неиспользованная память включается:
в размер любой группы данных, к которой принадлежит элементарное данное;
в распределяемые позиции литер, когда групповое данное является объектом фразы REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ). Неиспользуемые позиции литер не включаются в переопределяемые позиции, если объектом фразы REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) является элементарное данное.
Фраза SYNCHRONIZED (ВЫДЕЛЕНО), в которой не указано ни RIGHT (ВПРАВО), ни LEFT (ВЛЕВО), означает, что элементарное данное нужно расположить между естественными границами таким образом, чтобы достичь наиболее эффективного его использования. Особенности размещения определяются реализацией.
SYNCHRONIZED LEFT (ВЫДЕЛЕНО ВЛЕВО) определяет расположение элементарного данного, начиная с левой крайней позиции литеры, в естественных границах памяти, в которую оно помещается.
SYNCHRONIZED RIGHT (ВЫДЕЛЕНО ВПРАВО) указывает, что элементарное данное размещается вплотную к правой позиции литеры в естественных границах памяти, в которую оно помещается.
При обращении в исходной программе к данному, имеющему в описании фразу SYNCHRONIZED (ВЫДЕЛЕНО), при определении любого действия, зависящего от размера (например выравнивания, усечения, переполнения), используется размер данного, задаваемый фразой PICTURE (ШАБЛОН).
Если описание данного содержит фразу SYNCHRONIZED (ВЫДЕЛЕНО) и знак числа, то последний появляется в позиции, знака, явно или неявно указанной фразой SIGN (ЗНАК).
Если фраза SYNCHRONIZED (ВЫДЕЛЕНО) указана для данного внутри области действия фразы OCCURS (ПОВТОРЯЕТСЯ), то выделяется каждое вхождение повторяющегося данного, для которого при этом порождается необходимый неявный заполнитель.
Фраза SYNCHRONIZED (ВЫДЕЛЕНО) зависит от оборудования и в дополнение к правилам (1) — (7) при реализации должно быть точно определено, как обрабатываются связанные с этой фразой элементарные данные в зависимости от формата внешнего представления содержащих их записей или групп и порождения необходимых неявных заполнителей (если элементарное данное, непосредственно предшествующее данному, содержащему фразу SYNCHRONIZED (ВЫДЕЛЕНО), не оканчивается на естественной границе). Автоматически порождаемые позиции заполнителя включаются в размер каждой группы, в которой содержится заполнитель, и в переопределяемые поля машинной памяти, если группа данных, частью которой является заполнитель, появляется как объект фразы REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ).
Реализация может задавать автоматическое выравнивание внутри записи для любого внутреннего формата данных, за исключением данных, использование которых указано DISPLAY (ДЛЯ ВЫДАЧИ). Однако запись в целом может быть выделена.
Правила выделения записей в файлах данных, вызывающие выделение элементарных данных, должны быть оговорены реализацией.