оно есть какое-то 'ЦИ определение ВИДА': в этом случае в его УКРЫТИЕ' помещается 'ЦИ помнит ВИД' (при условии, что это конкретні- 1361 97ное 'ЦИ' уже не там), а затем развертывается этот 'ВИД';
оно есть некоторое 'использование ЦИ’: в этом случае в его 'УКРЫТИИ' уже должно быть какое-то ’ЦИ помнит ВИД'. Тогда развертывается этот 'ВИД' после проверки на правильность построения (см. 7.4), состоящей в определении того, что в этом 'УКРЫТИИ' перед рассматриваемым 'ЦИ помнит ВИД' находится по крайней мере одно 'инь' и по крайней мере одно 'ян/
( Прежде чем пара '7ЭПИЛОГОВ' проверяется на эквивалентность, в 'УКРЫТИИ' запоминается, что исходная пара 'ЗНАЧЕНИЙ' уже проверялась. Это делается, чтобы обязательно выйти прямо на 'ЕСЛИ истина', если данные 'ЗНАЧЕНИЯ' когда-нибудь снова нужно будет проверять на эквивалентность на более низких уровнях дерева порождения. Поскольку число пар составляющих тех 'ЗНАЧЕНИЙ', которые могут выводиться из двух любых данных 'ЗНАЧЕНИЙ', конечно, рассматриваемый процесс заканчивается.
Остается показать, что этот процесс корректен. Рассмотрим неограниченное (возможно, бесконечное) дерево порождения, которое могло бы получиться, если бы в данном синтаксисе не было сокращающих выходов (что получится, если опустить первую альтернативу вместе с первым звеном второй альтернативы в правиле Ь). Если два 'ЗНАЧЕНИЯ' неэквивалентны, то в их деревьях вида есть кратчайший пусть от корневой вершины к какой-то вершине, показывающей разницу. Очевидно, что изображение этого кратчайшего пути в неограниченном дереве порождения не может содержать повторяемой проверки на эквивалентность никакой пары 'ЗНАЧЕНИЙ' и. значит, ни один из сокращающих выходов на 'ЕСЛИ истина' в ограниченном дереве порождения не может входить в этот кратчайший путь. Следовательно, этот путь до различия должен также присутствовать и в (ограниченном) дереве порождения, порождаемом настоящим синтаксисом. Если указанный процесс проверки не показывает разницы в этом ограниченном дереве, то ни за какое число шагов нельзя обнаружить никакой разницы; т.е. данные 'ЗНАЧЕНИЯ' эквивалентны.}
7.4. Правильность построения
{ Вид правильно построен, если
исполнение фактического-описателя, специфицирующего этот вид является конечным действием (т.е. любое значение этого вида можно хранить в конечной памяти) и
он не является сильно приводимым из самого себя (поскольку это вело бы к двусмысленностям при приведении) . J
Синтаксис
ЕСЛИ (ПОНЯТИЕ) меняет УКРЫТИЕ на УКРЫТИЕ {73с} :
если (ПОНЯТИЕ) есть (ПРОСТОЕ) юти
(ПОНЯТИЕ) есть (?ПОДВИЖНь1Й МАССИВ из) или (ПОНЯТИЕ) есть (объединение) или (ПОНЯТИЕ) есть (пустое значение), ЕСЛИ истина.
ЕСЛИ (ПРИСТАВКА) меняет УКРЫТИЕ
на инь УКРЫТИЕ £?3с] : ЕСЛИ истина.
ЕСЛИ (структура содержащая) меняет УКРЫТИЕ
на ян УКРЫТИЕ {73с} : ЕСЛИ истина.
ЕСЛИ (процедура с) меняет УКРЫТИЕ
на инь ян УКРЫТИЕ £ 73с} : ЕСЛИ истина.
{ В качестве побочного продукта выявления эквивалентности видов они проверяются на правильность построения (7.3.1.с). Все нерекурсивные виды правильно построены. Для рекурсивных видов необходимо, чтобы каждый цикл в каждом выписывании такого вида (от 'ЦИ определения ВИДА' до 'использования ЦИ') проходил по крайней мере через один 'ПРОЛОГ', который есть инь, обеспечивая условие (і), и один (возможно, тот же самый) 'ПРОЛОГ', который есть ян, обеспечивая условие (іі). Инь 'ПРОЛОГАМИ' являются 'ПРИСТАВКА' и 'процедура с'. Ян 'ПРОЛОГАМИ' являются 'структура содержащая' и 'процедура с'. Остальные 'ПРОЛОГИ', включая '7ПОДВИЖНЫЙ МАССИВ из' и 'объединение', не являются ни инь, ни ян. Это означает, что все виды, специфицируемые посредством а, b и с в
вид а = ст (цел п, имя а след), b = ст (проц b след), с = проц (с) с, правильно построены. Однако
вид d = [1 : 10] d, е = об (цел, е) не есть описание-вида.}
8. ИЗОБРАЖЕНИЯ
{ Изображения, например 3.14 или „абв”, представляют собой конструкты, выдача которых не зависит ни от каких действий. В некоторых других языках они иногда называются „литералами” или ,.константами”.} 8.0.1. Синтаксис
изображаемое в СРЕДЕ выдающее ЗНАЧЕНИЕ {5D, A341i) : возможная последовательность пояснений { 92а}, изображение ЗНАЧЕНИЯ {810а, 811а, 812а, 813а, 814а, 815а, 82а, Ь, с, 83а,-}.
I Смысл изображения не зависит ни от какой среды.}
Изображения простого
{ Изображения-простого — это изображения арифметических значений, истинностных значений, литер и пустого значения, например 1,3.14, истина, „а” и пустое.}
8.1.0.1. Синтаксис.
А) РАЗМЕРНОЕ :: длинное; короткое.
В)* ЧИСЛО :: натуральное число; рациональное число;
действительное число.
' а) изображение РАЗМЕРНОГО ЧИСЛОВОГО {а, 80а) :
символ РАЗМЕРНОЕ { 94d} , изображение ЧИСЛОВОГО { а, 811а, 812а) .
* изображение простого:изображение ПРОСТОГО {а, 811а, 812а, 813а, 814а} ;
изображение пустого значения {815а} .
{ Пример:
а) длин 0}
8.1.0.2. Семантика.
Выдача W изображения-ЧИСЛОВОГО есть „естественное значение” {8.1.1.2, 8.1.2.2.а, b} его составляющего ЧИСЛА;
• требуется, чтобы W была не больше, чем наибольшее из различаемых { 2.1.3.1 .d } значений вида 'ЧИСЛОВОЕ'.
[Изображение-ЧИСЛОВОГО выдает арифметическое значение
£2.1.3.1.а) , но выдаваемые различными изображениями-ЧИСЛОВОГО арифметические значения не обязательно различны (, например, 12’3.4 и 1.234,0 + 2).}
Изображения целого
Синтаксис.
изображение целого {80а, 810а} : натуральное число {b}.
натуральное число {а, 812с, d, f, і, A341h}: последовательность десятичных цифр {с}.
десятичная цифра f b }: символ ЦИФРА { 94b} .
{ Примеры:
а) 4096 Ь) 4096
4]
Семантика.
Естественным значением натурального-числа N является целое число, десятичное представление которого в эталонном языке есть это N {9.3.b} .
Изображения вещественного
С
а)
Ь)
с)
d)
е)
f)
g)
h)
і)
j)
интаксис.изображение вещественного {80а, 810а} :
рациональное число {b}; действительное число {е}.
рациональное число {a, f}:
возможная целая часть {с }, дробная часть {d}.
целая часть { b} : натуральное число {811b} .
дробная часть £ Ь} :
символ точка‘■{94b} , натуральное число { 811b} . действительное число fa} .-мантисса {f}, порядок fg} .
мантисса £е} : натуральное число {811b} ;
рациональное число {b} .
порядок {е}:
запись десятичного основания { hj , степень десяти {i J. запись десятичного основания [ g } :
символ на десять в степени { 94b } ;
символ буква е {94а} либо символ буква е лат {94а] . степень десяти { g }: возможные плюс или минус {j} , натуральное число {811b}.
плюс или минус {і} .-
символ плюс { 94с} ; символ минус {94с) .
Ь
{ Примеры:
а) 0.00123 • 1.23е—3
с) 0
е) 1.23е-3
g) е—3
і) 3
8,1.2.2. Семантика.
) 0.00123 d) .00123 f) 123 • 1.23 h) ю • е j) + • -}Естественное значение V рационального-числа N определяется следующим образом:
пусть 1 — естественное значение натурального числа его составляющей целой-части, если она есть, а иначе 0;
пусть F — естественное значение натурального-числа его дробной-ча- стй Р, деленное на 10 в степени количества десятичных-цифр, содержащихся вР;
V — сумма, в смысле численного анализа, 1 и F.
Естественное значение действительного-числа N определяется следующим образом:
пусть S — естественное значение ЧИСЛА его мантиссы;
пусть Е — естественное значение составляющего натурального-числа его порядка;
Случай А: Составляющий возможный-плюс-или-минус этого N содержит символ-минус:
V — произведение, в смысле численного анализа, S и числа 1/10, возведенного в степень Е;
Случай В: Прямой наследник рассматриваемого возможного-плюса-или-
минуса содержит символ-плюс или пуст:
V — произведение, в смысле численного анализа, S и числа 10, возведенного в степень Е.
Изображения логического
Синтаксис.
а) изображение логического [ 80а} :
символ истина f94b} ; символ ложь [94b}.
[ Примеры
а) истина • ложь}
Семантика..
Выдача изображения-логического есть истина (ложь), если его прямой наследник есть символ-истина (символ-ложь).
Изображения литерного
{Изображения-литерного состоят из элемента-строки, заключенного между двумя символами-кавычка, например ”а”. Чтобы изобразить кавычку, используют символ-образ-кавычки (представляемый как ”” ), например” ”” .’’Поскольку синтаксис нигде не допускает, чтобы изображения- литерного или-строкового следовали одно за другим, это не приводит к двусмысленности.}
Синтаксис.
изображение литерного 180а j :
символ кавычка {94b }, элемент строки {b}, символ кавычка {94b}.
элемент строки {a, 83b} : элемент основного набора {с};
символ образ кавычки { 94b} ; добавочный элемент строки {d}.
элемент основного набора {b, 92с}:символ БУКВА [ 94а} ;
символ ЦИФРА {94b} ; символ точка {94b} ;
символ открыть {94f}; символ закрыть {94f};
символ запятая {94b) ; символ пробел { 94b} ;
символ плюс {94с} ; символ минус {94с}.
Для понятия 'добавочный элемент строки’ fb, для которого в тексте настоящего стандарта не задано никакого гиперправила,} можно добавить порождающее правило, каждая из альтернатив которого является символом { 1.1.3.1.f}, отличным от любого терминального порождения 'элемента основного набора' {с} и не являющимся 'символом кавычка'.
{ Примеры:
а) ”а” Ь) а • ” ” • ?
с) а • 1 ••(•)•,•■• + • -}
Семантика.
Выдача изображения-литерного есть естественное значение символа, наследного для его элемента-строки.
Естественным значением каждого отдельного символа, наследного для элемента-строки, является отличная от других литера.
{Литеры не имеют специфического смысла, за исключением того, что некоторые из них интерпретируются особым образом описаниями обмена (10.3). Элементы-основного-набора, включающие все литеры, необходимые для обмена, образуют некоторое минимальное множество, обеспечиваемое, как ожидается, во всех реализациях (2.2.2.с).}
Изображение пустого значения
{ Изображение-пустого-значения можно использовать, чтобы присвоить пустое значение переменной-вида-ПРЕДСТАВИТЕЛЬ, например об ([ ] вещ, пуст) и := пустое. }
Синтаксис.
а) изображение пустого значения {80а} : символ пустое {94b} .
{ Пример:
а) пустое}
Семантика.
Выдача всякого изображения-пустого-значения есть пустое.
8.2. Изображения битового
Синтаксис
А) ДВОИЧНОЕ :: двоичное; четверичное; восьмеричное; шестнадцатеричное.
изображение структуры содержащей ДОЛГУЮ
?ДОЛГУЮ букву алеф для выборки
вектора из логических в себе {а, 80а} : символ длинное {94d} , изображение структуры содержащей 7ДОЛГУЮ букву алеф для выборки вектора из логических в себе {а, с} .
и
Ь)
зображение структуры содержащей КРАТКУЮ ?Ю’АТКУЮ букву алеф для выборки вектора из логических в себе { b, 80а j :символ короткое {94d}, изображение структуры содержащей 7КРАТКУЮ букву алеф для выборки вектора из логических в себе {b, с} .
и
с)
зображение структуры содержащей букву алеф для выборки вектора из логических в себе { а, Ь, 80а} :ДВОИЧНОЕ основание { d, е, f, gj, символ буква эр лат {94а}, последовательность ДВОИЧНЫХ цифр {h, і, j, k} ;
Д
Ф е)
ВОИЧНОЕ основание {d, е, f, g ], символ буква я {94а}, последовательность ДВОИЧНЫХ цифр {h, і, j, k} . двоичное основание {с, A347b} : символ цифра два { 94b} . четверичное основание [с, A347b}:с
f)
имвол цифра четыре {94b} . восьмеричное основание {с, A347b} ;с
g)
имвол цифра восемь { 94b} . шестнадцатеричное основание{c,A347b}:с
h)
имвол цифра один {94b}, символ цифра шесть {94b} . двоичная цифра {с, і} .с
і)
имвол цифра нуль {94b} ; символ цифра один { 94b} . четверичная цифра {с, j}: двоичная цифра { h};с
j)
имвол цифра два {94b} ; символ цифра три { 94b} . восьмеричная цифра {с, к} : четверичная цифра {і};символ цифра четыре { 94b}; символ цифра пять {94b} ;
с
к)
имвол цифра шесть { 94b} ; символ цифра семь {94b} шестнадцатеричная цифра {с} : восьмеричная цифра {j};ц
символ символ символ символ символ символ символ
ифра восемь {94b}; символ цифра девять-{94b} : буква а лат [94а}; символ буква бе лат {94а};буква цэ лат {94а} ; символ буква де лат {94а} ; буква е лат {94а} ; символ буква эф лат {94а} ;
буква а {94а} ; символ буква б {94а} ; буква ц { 94а}; символ буква д { 94а} ;
1)*
буква е { 94а} ; символ буква ф { 94а}. изображение битового : изображение БИТОВОГО {а, Ь, с}. { БИТОВОЕ :: структура содержащая букву алеф для выборки вектора из логических в себе.}н1)*машинная цифра: ДВОИЧНАЯ цифра {h, і, j, kJ.
[ Примеры:
а) длин 2г 101 • длин 2я101
кор 16г ffff • кор 16я фффф
8г231 • 8я231}
Семантика
а) Выдача V изображения-битового D определяется следующим образом:
пусть W — естественное логическое значение { b} его составляющей последовательности-ДВОИЧНЫХ-цифр;
пусть m -■ длина этого W;
пусть п — значение Д размер бит {10.2.1 .jj , где Д означает длин (кор), повторенное столько раз, сколько символов-длинное (символов- короткое) содержится в D;
требуется, чтобы m было не больше п;
V — структура {вида 'БИТОВОЕ'} , единственным полем которой является массив, имеющий