ГОСТ 22558-89 сторінка 36 з 116
Самая левая литера цепочки литер плавающей вставки представляет левую границу для размещения литеры плавающей вставки. Самая правая литера цепочки литер плавающей вставки представляет правую границу для размещения литеры плавающей вставки.
Вторая слева литера плавающей вставки представляет левую границу числового данного, которое может быть помещено в поле данного. Ненулевые числовые данные могут располагаться, начиная от этой позиции, на любой позиции справа от этой границы.
Строка-литер шаблона определяет два способа редактирования плавающей вставкой. Первый из них заключается в том, что некоторые или все ведущие позиции цифр слева от десятичной точки представляются литерой вставки; при втором способе позиции всех цифр в строке-литер шаблона представляются литерой вставки.
Если литеры вставки находятся только слева от десятичной точки, то в результате редактирования единственная литера вставки размещается на позиции литеры, непосредственно предшествующей десятичной точке или первой ненулевой цифре в позициях данного, представленных цепочкой символов вставки (в зависимости от того, что встречается ранее в данном). Позиции литер, предшествующие литере вставки, замещаются пробелами.
Если все позиции цифровых литер в строке-литер шаблона представляются литерой вставки, результат редактирования зависит от значения данных. Если значение равно нулю, все данное будет содержать пробелы. Если значение не равно нулю, результат будет таким, как если бы литеры вставки находились только слева от десятичной точки.
Если все позиции цифровых литер в строке-литер шаблона представляются литерами вставки, то по крайней мере одна из литер вставки должна находиться слева от десятичной точки.
Если цепочкой литер плавающей вставки являются управляющие символы редактирования + или —, то вставляемые литеры зависят от значения данного:
Редактирующий символ в строке-литер шаблона
Литеры вставки, появляющиеся в редактируемом данном
Данное положительно или нуль
Данное отрицательно
+
4“
—
■ч»
Пробел
—
Если все позиции цифровых литер в строке-литер шаблона представлены литерами вставки, результат зависит от значения данного. Если значение нуль, то данное будет содержать пробелы. Если значение не нуль, то результат будет таким же, как и в, случае, когда вставляемыми литерами являются литеры только слева от десятичной точки.
Во избежание отбрасывания литер при перемещении данных, минимальный размер строки-литер шаблона для принимающего поля должен равняться числу литер пересылаемого данного плюс число литер фиксированной вставки в принимающем поле, плюс 1 для литеры плавающей вставки. Если же отбрасывание литер произошло, то значением данных для редактирования будет значение, полученное после отбрасывания литер.
Подавление ведущих нулей на позициях цифр указывается использованием литер 7(П) или* в качестве символов подавления в строке-литер шаблона. Эти символы являются взаимно исключающими в одной и той же строке-литер шаблона. Каждый символ подавления учитывается при определении размера данного. Если используется 2(П), литерой замещения будет пробел; если используется звездочка, литерой замещения будет * .
Подавление и замещение нулей указывается в строке-литер шаблона цепочкой из одного или более символов подавления нуля в ведущих позициях цифр, которые должны быть заменены, если соответствующая позиция литеры в данных содержит нуль. Литеры простой вставки, находящиеся в этой цепочке символов или непосредственно справа от нее, рассматриваются как часть этой цепочки.
В строке-литер шаблона имеется два способа представления подавления нуля: при первом способе некоторые или все ведущие позиции цифр слева от десятичной точки представляются символами подавления; другой способ заключается в представлении всех позиций цифр в строке-литер шаблона символами подавления.
Если символы подавления оказались только слева от десятичной точки, то любой ведущий нуль в данном на позиции символа подавления в строке-литер шаблона заменяется на литеру замещения. Подавление заканчивается на первой ненулевой цифре из представленных строкой символов подавления или на десятичной точке, в зависимости от того, что встретилось первым.
Если все позиции цифр в строке-литер шаблона представляются символами подавления и значение данных отлично от нуля, то, результат является таким же, как в случае, если бы литеры подавления находились только слева от десятичной точки. Если значение является нулевым, то различаются следующие два случая: если символом подавления является 7(П), все данное, включая литеры редактирования, заменяется пробелами; если символом по
давления является * , все данное, кроме явной десятичной точки, заменяется звездочками;
символы +, —, *, Z(FI) и валютный знак при использовании в качестве плавающих литер замещения являются взаимно исключающими внутри одной строки-литер.
П р а в и л а предшествования
В таблице показан порядок предшествования при использовании литер в качестве символов строки-литер шаблона.
Символ X в клетке таблицы указывает, что символы, используемые как заголовки соответствующих столбцов, могут предшествовать (но необязательно непосредственно) в строке шаблона символам, указанным в начале соответствующих строк таблицы. Символ «—» указывает на недопустимость такого предшествования. Заключенные в фигурные скобки символы являются взаимно исключающими. Валютный знак указывается с помощью символов «В. зн.».
В строку литер шаблона должны входить по крайней мере один из символов А, X, Z (П), 9 или *, или по крайней мере два из символов + , —, или В.зн.
Символы неплавающей вставки + и —, символы плавающей вставки Z (П), *, +, — и В. зн. и символ Р (М) встречаются дважды в таблице. Для каждого символа левый столбец и верхний ряд представляют использование этого символа слева от позиции десятичной точки. Правый столбец и нижний ряд представляют использование символа справа от позиции десятичной точки.
5.10. Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ)
Н азначение
Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) позволяет одну и ту же область памяти машины описывать различными статьями описания данных.
О [ имя-данного-1 номер-уровня I filler
бший формат
REDEFINES имя-данного-2
и ПЕРЕОПРЕДЕЛЯЕТ
мя-данного-1
З номер-уровня
АП
ЗАПОЛНИТЕЛЬ
имя-данного-2
В вышеприведенном формате номер-уровня, имя-данного-1 и FILLER (ЗАПОЛНИТЕЛЬ) не являются частью фразы REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) и приведены для наглядности.
Синтаксические правила
Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), если она указана, должна следовать непосредственно за субъектом статьи.
Номера уровней имени-данного-1 и имени-данного-2 должны быть одинаковыми I и не могут быть равными 66 или 88
282
Второй символ
Допустимость предшествования первого символа
Символы фиксированной вставки
Символы плавающей вставки
Другие символы
В
0
/
•
(+)
( CR 1 J (КР)
1 DB 1
1 (ДВ) )
в. зн
г Z -j (П)
( z 1 (П)
*
(±1
|±}
в.
зн
в. зн
9
А X
S (3
V (Т)
р (М)
р
(М)
Символы фиксированной вставки
в
X
х
х
х
х
х
—
—
х
х
х
X
X
X
X
X
X
—
X
—
X
0
х
х
х
х
х
х
—
—
х
х
х
х
X
х
X
X
X
—
X
—
х
/
х
х
х
у
х
х
—.
—
х
\/
х
X
х
х
х
х
х
—
х
—
X
х
X
х
X
/X
х
—■
—
х
х
х
х
х
X
х
х
—
—
х
—
х
х
х
Х<
X
—
х
—
—
X
—
х
—
X
—
х
—
—
—
—,
—.
+т
—
—
—
—
—
—
—
—
—
—
{±1
X
X
X
х
X
—
—
- -
х
X
X
__
—
X
X
X
—
—
X
х •
X
1 CR(KP) 1 t ОВ(ДБ) /
X
X
X.
/X
X
—
—
X
\zZ
—
—
X
X
X
—
—
X
X
X
В. зн.
—
_.
—
—
—
х
—
—
—
—
—
—
—
—
■—
—
—
—
—
—
—
Символы плавающей вставки
{Z(?} }
X
X
X
X.
. —
X
—
-
X.
■V
—
—
—
—
—
—
—
—
{Z(n) I
X
X.
X
х
X
X
—
—
X
X
X
—
—
—
—
—
-
.....
X
—
X
т+
X
X.
X
Хх
—
—
—
—
X
—
—
X
—
—
—
—
—
—
—
—
—
+Т
X
X
X
—
—
—
X
—
—
X
X
—
X
—
X
В. зн.
\
х
—
—
—
—
-
--
—
х
—
—
-
—
—
■—
В. зн.
X
X
X
X
X
X
—
---
—
—
—
X
X
—
__
—
X
—
X
282 ГОСТ 22558—89
П ГОСТ 22558—89 С. 283
родолжение
Второй символ
Допустимость предшествования’.первого символа
Символы фиксированной вставки
Символы плавающей вставки’
Побачили розбіжність з офіційним текстом?