ff) „Размещение” есть литера, выдаваемая кодом-размещения (10.3.4.1.2.d). Повторяемое п раз размещение осуществляется следующим образом:

  • к” (”к”) заставляет вызваться уст номер литеры с п в качестве

ее второго параметра;

  • х” (”х”) заставляет п раз вызваться вперед;

  • у” (”у”) заставляет п раз вызваться назад;

1” С’л”) заставляет п раз вызваться нов строчка;

  • -у” (”п”) заставляет п раз вызваться нов страница;

  • q” (”ю”) при выводе (вводе) заставляет п раз записать (ожидать)

литеру пробел.

gg) Формат может состоять из последовательности шаблонов, каждый из которых выбирается по очереди посредством взять след шаблон (10.3.5.Ь). В дополнение к этому некоторое множество шаблонов можно сгруппировать вместе и образовать повторяемый „набор” (который сам может содержать подобные наборы). Когда выбирается последний шаблон набора, снова выбирается его первый шаблон и т.д., пока весь этот набор не повторится и раз, где п — целое число, вырабатываемое его повторителем. Набор можно снабдить двумя вставками, первая из которых осуществляет­ся перед набором, а вторая после него.

Формат может также вызывать другие форматы с помощью трафаре­тов'форматного ' (10.3.4.9.1).

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

hh) Значение V выводится с помощью шаблона Р следующим образом: Если трафарет Q этого Р есть трафарет 'выбора' или 'бесформатного',то V выводится с помощью Р (см. 10.3.4.8.l.aa, dd, 10.3.4,1.аа), а иначе V выводится так:

  • Р подготавливается.

Если вид этого V „совместим по выводу” с Q, то

  • V преобразуется в строку, управляемую (dd) этим Q.

Если данный вид не совместим по выводу или если это преобразование не было успешным,

то

  • вызывается процедура обработки события, соответствующая при ошибке значения:

  • если она вырабатывает ложь, V выводится с помощью процеду­ры вывод и вызывается не определено;

а иначе данная строка „редактируется” (jj) с помощью трафарета Q; осуществляется вставка из Р.

ii) Значение вводится в имя N с помощью шаблона Р следующим образом:

Если трафарет Q этого Р есть трафарет 'выбора' или 'бесформатного', то значение вводится в N с помощью Р (см. 10.3.4.8.l.bb, ее, 10.3.4.10.1.bb);

а иначе

  • Р подготавливается;

  • составляется” строка, управляемая Q (kk).

Если вид этого N „совместим по вводу” с Q, то

  • данная строка преобразуется с помощью Q в подходящее для N зна­чение;

  • если это преобразование было успешным, данное значение присваи­вается N.

Если данный вид не совместим по вводу или если это преобразование не было успешным,

то

  • вызывается процедура обработки события, соответствующая при ошибке значения;

  • если она вырабатывает ложь, вызывается не определено; осуществляется вставка из Р.

jj) Строка „редактируется” с помощью трафарета Р следующим обра­зом:

В каждой части строки, управляемой образцом знака,

  • если (указывающая знак) первая литера этой строки есть ”+”, а данный образец знака содержит рамку то эта литера заме­няется на ”

первая литера (т.е. знак) сдвигается вправо через все началь­ные нули в данной части этой строки и эти нули заменяются пробе­лами (например, с помощью образца знака 4z + (4ж +) строка”+0003” становится строкой’’ххх+3”).

В каждой части этой строки, управляемой образцом целого,

  • управляемые ”z” (”ж”) рамками нули заменяются пробелами, если они расположены

между началом данной строки и первой ненулевой цифрой;

между каждой ”d” (”д”) ”е” (”е”) или”і” (”и”) рамкой и следующей ненулевой цифрой;

(например, с помощью трафарета zdzd2d (жджд2д) строка ”180168” становится ”18x168”).

Для каждой рамки F из Р

осуществляется вставка из F;

  • если рамка F не подавляема, записываются управляемые ею литеры;

(например, редактирование с помощью трафарета 4ж + ш. ” , ” д строки ”+0003.5” дает х х +3,5”, а редактирование строки ” 180168” с помощью трафарета жд”-”жд”—19”2д дает ”18-х 1—1968”).

kk) Строка „составляется” с помощью трафарета Р следующим обра­зом:

Для каждой рамки F из Р

осуществляется вставка из F.

Для каждого элемента этой строки, управляемого F, следующим образом получается некоторая литера:

Если F содержится в образце знака, то

  • если знак уже был, ожидается цифра с предлагаемым ”0”;

  • а иначе ожидается ”+” или ” с предлагаемым ”+” и, кроме того, если данный образец знака содержит ” рамку, в качестве знака будет приемлем пробел; предшествующий первой цифре (заменяемый на ”+”);

а иначе если рамка F содержится в образце целого, то

если она подавляема, то подается ”0”;

а иначе:

Случай A: F - ”d” С’д”) рамка:

  • ожидается некоторая цифра с предлагаемым ” 0 ”;

Случай В: F - ”z” (”ж”) рамка:

  • ожидается цифра или пробел с предлагаемым ”0”, причем пробел приемлем только в следующих случаях:

  • между началом данной строки и первой ненулевой цифрой;

  • между каждой’^” (”д”),”е” (”е”) или”і” ("и”) рамкой и следующей ненулевой цифрой;

такие пробелы заменяются нулями;

а иначе если F — **а” С’а”) рамка,

то, если она неподавляема, читается и подается некоторая литера, а иначе подается *»► ”;

—’аче, если F неподавляема,то, если F — ” . ” (”е С’и”),”Ь” С’б”)) рамка, ожидается ” . ”

(”ю” или ”” или ”е”, ”1” или ”і”, да или нет) с предлагаемым ” . ” ( ”ю ”, ”1”, нет):

а иначе, если F — подавляема ” . ” (”е” f’e”), ”i” С’и”)) рамка, подается литера ” (”10”, ” 1”).

П) Элемент множества литер S „ожидается” с предлагаемой литерой С следующим образом:

читается некоторая литера:

если это одна из ожидаемых литер (т.е. принадлежит множеству s), то она подается,

а иначе вызывается процедура обработки события, соответствующая при ошибке литеры, с предлагаемой литерой С; если эта процедура выраба­тывает истина, а (возможно, измененная) литера С есть одна из ожидае­мых литер, то подается С, а иначе вызывается не определено. J 10.3.4.1.2. Семантика.

{ Форматы вводятся в действие посредством текстов-формата. Формат лучше всего рассматривать как дерево с некоторым набором в каждом уз­ле и шаблоном на каждом из его концов. Чтобы не нарушались ограниче­ния на области действия, каждый узел в этом дереве запакован — в настоя­щем стандарте — в значение вида 'КАДР'. Формат составлен вектором таких кадров, и они содержат указатели друг на друга в форме индексов, выби­рающих (их) из этого вектора. Без сомнения, в реализациях это дерево бу­дет храниться более эффективным способом. Это возможно, так как ука- затель-поля любого формата скрыт от пользователя, чтобы тот не мог про­никнуть в это поле.

Хотя текст-формата может содержать ЗАКРЫТЫЕ-предложения (в пов­торителях и трафаретах-форматного) или основы (в трафаретах-бесформат- ного) і эти ЗАКРоІТЫЕ-предложенйя и основы не исполняются при исполне­нии текста-формата, но превращаются в процедуры, вызываемые впослед­ствии, когда до них дойдет дело в ходе форматного обмена. В действитель­ности исполнение текста-формата не приводит ни к каким действиям, име­ющим какой-нибудь смысл для пользователя. }

  1. Выдача текста-формата F в окружении Е есть структура, единственным полем которой является массив W вида вектор из КАДРОВ'. Этот массив составлен из паспорта ((1, п)) и п элементов и определяется следующим образам:

  • счетчик і устанавливается в 1;

  • W получается „трансформацией” F в окружении Е с помощью і.

  1. Массив W, вид которого есть 'вектор из КАДРОВ', получается „трансформацией” текста-формата или упакованного-списка-наборов С в окружении Е с помощью счетчика і следующим образом:

элемент этого W, выбираемый по (і), является структурой, вид кото­рой есть 'КАДР' и поля которой, взятые в их порядке, таковы

  • { утн} не определено;

  • (счет} не определено;

  • £оук) не определено;

  • {н} массив V, вид которого есть 'вектор из НАБОРОВ' с паспортом ((1, т)), где т — число составляющих наборов из С, и элементами, определяемыми так:

Для j = 1,mпусть Cj будетj-м составляющим набором из С:

Случай А: Прямой наследник этого Cj включает шаблон Р:

  • составляющий трафарет Т, если он есть, и вставка 1 этого Р Исполняются совместно;

  • j-м элементом V является структура, вид которой есть 'ШАБЛОН' и поля которой, взятые в их порядке, таковы:

{траф} выдача этого Т, если она есть, {е, 10.3.4.8.2, 10.3.4.9.2, 10.3.4.10.2), а иначе пусто;

  • ' в выдача этой 1 {d} ;

Случай В: Прямой наследник этого Cj включает первую вставку 11, пов­торитель REP, упакованный-список-наборов Р и вторую встав­ку^:

  • і увеличивается на 1;

  • 11, REP и 12 исполняются совместно;

j-м элементом V является структура, вид которой есть 'ПАКЕТ' и поля которой, взятые в их порядке, таковы

{в1} выдача 11 {d};

  • {повт} выдача REP {с] ;

  • {УДК} і;

  • {в2]выдача 12;

W получается трансформацией Р в окружении Е с по­мощью і.

  1. Выдача в некотором окружении Е ?НЕПОДАВЛЯЕМОГО-повторите- ля-в-СРЕДЕ R £10.3.4.1.1^ h) - это процедура вида 'процедура выраба­тывающая целое', составленная из текста-процедуры-в-СРЕДЕ-выдающего- процедуру-вырабатывающую-целое, основа которого есть U вместе с окру­жением, необходимым {7.2.2.с} для U в Е, причем U определяется следую­щим образом:

Случай A: R содержит ЗАКРЫТОЕ-предложение-раскрыто-выдающее-це- лое С:

U - новая основа, подобная £1.1.3.2.k} С;

Случай В: R содержит натуральное-число D, а не ЗАКРЫТОЕ-предложе- ние:

  • U — новая основа, подобная D;

Случай С: R невидимо:

  • U — новая основа, подобная натуральному-числу, имеющему естественное {8.1.1.2} значение 1.

  1. Выдача вставки 1 {10.3.4.1.1.d} — это массив W вида 'ВСТАВКА', определяемый следующим образом:

  • пусть Ui, •••> Un— составляющие ?НЕПОДАВЛЯЕМЫЕ-повторители вставки 1 и А, для і = 1, ..., п есть приведенное-изображаемое или код-раз- мещения, непосредственно следующий за U;;

  • пусть RnRnи D1;Dn— совместные выдачи Uj, Unи As, .... Ап, причем выдача кода-размещения символ-буква-ка-лат или символ- буква-к-(символ-буква-икс-лат или символ-буква-х, символ-буква игрек- лат или символ-буква-у, символ-буква-эль-лат или символ-буква-л, символ- буква-пэ-лат или символ-буква-п, символ-буква-ку-лат или символ-буква- ю) есть {литера, которая есть) естественное значение {8.1.4.2b) символа- буква-ка-лат (символа-буква-икс-лат, символа-буква-игрек-лат, символа- буква-эль-лат, символа-буква-пэ-лат, символа-буква-ку-лат);

  • паспортом этого W является ((1, п));

  • элемент этого W, выбираемый по (і), і = 1,..., п, является структурой, вид которой специфицируется посредством ст (проц цел повт, об (строк, лит) стр) и поля которой, взятые в их порядке, таковы: