Иногда, когда контекст требует этого явно, согласованная подстановка распространяется менее чем на законченный отрывок текста. {Например, во введении к п.2.1.1.2 есть несколько вхождений „'ЗНАЧЕНИЕ'”, причем два из них служат для того, чтобы обозначать конкр'етные (и разные) протопонятия, выписанные полностью, а другие, очевидно, используют, чтобы обозначать различные элементы из класса терминальных метапорождений некоторого „ЗНАЧЕНИЯ”.}
Если протопонятие (гиперпонятие) Р составлено конкатенацией протопонятий (гиперпонятий) А, В и С с возможно пустыми А и С, то Р „содержит” В на месте, определяемом в Р длиной А. Так, например, 'абвгдевгжз' содержит 'вг' на третьем и седьмом местах.}Протопонятие Р2, будучи протопонятием, обозначаемым гиперпонятием Н2, „заложено” в протопонятие Р1, если Р2 или какой-нибудь его эквивалент {2.1.1.2.а} содержится {Ь} на некотором месте в Р1, но не содержится ни на каком месте в любом другом {промежуточном]- протопонятии РЗ, также содержащемся в Р1 и таком, что Н2 может обозначать и это РЗ.
{Так, например, 'ВИД', заложенный в 'замкнутое предложение выдающее имя вещественного' есть 'имя вещественного', а не ’вещественное'; кроме того, в вид (2.1.1.2.Ь), специфицируемый описателем ст (вещ а, ст (лог Ь, лит с) d) , заложены только два 'ПОЛЯ'.}
Парапонятия.
{„Парапонятия” введены в данном стандарте, чтобы облегчить рассмотрение конструктов с определенными прообразами. Парапонятие - это правильная фраза (русского языка), обозначающая конструкты (1.1.3.2.е) ; смысл парапонятия не обязательно тот, который можно найти в словаре, его можно вывести из приведенных ниже правил.}
„Парапонятие” Р есть {не заключенное в апострофы]- гиперпонятие, используемое в тексте данного стандарта, чтобы „обозначать” любой конструкт, прообраз О которого удовлетворяет следующему условию;
• рассматриваемое как гиперпонятие {, т.е. как если бы оно было заключено в апострофы,]-Р обозначает {1.1.4.1 .а]-некоторую „абстракцию” {Ь} прообраза О.
{Например, парапонятие „натуральное-число” могло бы обозначать конструкт, имеющий представление 02, поскольку если бы оно было в апострофах, то обозначало бы абстракцию понятия 'натуральное число', являющегося прообразом данного конструкта. Однако то же представление можно было бы описать и как последовательность-десятичных-цифр и тогда оно было бы прямым наследником этого натурального-числа.}
{Чтобы было легче выделять парапонятия среди других гиперпонятий, они не заключены в апострофы и снабжены дефисами там, где иначе были бы пробелы.}
Изменение по роду, числу и/или падежу слов, составляющих парапонятия {, рассматриваемые в качестве конструкций русского языка}, не влечет за собою изменения смысла этих парапонятий. {Таким образом, вхождение парапонятия в какое-нибудь предложение в тексте настоящего стандарта подчинено правилам согласования слов в предложениях русского языка.}
Малый синтаксический знак в начале парапонятия часто {, например, в начале предложения,} заменен {, чтобы улучшить вид текста,} соответствующим большим синтаксическим знаком без изменения смысла этого парапонятия {; например, „Идентификатор” имеет тот же смысл, что и „идентификатор”}.
Протопонятие Р2 есть „абстракция” протопонятия Р1, если
Р2 есть абстракция понятия, порождающее правило для которого начинается со звездочки, а Р1 - одна из альтернатив этого правила.
{например, 'ограничение' (5.3.2.1.h) есть абстракция любого из понятий, обозначаемых гиперпонятиями, 'отрезок в СРЕДЕ', 'индекс в СРЕДЕ', 'возможная сдвинутая нижняя граница в СРЕДЕ’ , или
в Р1 заложено протолонятие РЗ, обозначаемое одним из „опускаемых гиперпонятий”, перечисленных ниже в п. с), а Р2 ■ абстракция протопонятия, состоящего из Р1 без этого заложенного РЗ
{например, 'старт выбирающего по логическому' есть абстракция понятий 'краткий старт выбирающего по логическому' и 'выделенный старт выбирающего по логическому' (с опущенным 'ОФОРМЛЕННОЕ' из 9.1.1.а) }, или
Р2 эквивалентно {2.1.1.2.а} Р1
{например, 'символ выделенное начало' есть абстракция протопонятия 'символ выделенное начало'}.
{Чтобы привести пример, включающий все три правила, заметим, что 'определяющий индикатор выдающий объединение целого вещественного воедино' есть абстракция некоторого 'определяющего букву а идентификатора в СРЕДЕ выдающего объединение вещественного целого воедино' (4.8.1.а). 'Краткий старт выбирающего по объединению целого вещественного воедино' не является абстракцией понятия 'краткий старт выбирающего по объединению целого вещественного логического воедино’, потому что 'логического', которое, очевидно, опущего, не есть 'ЗНАЧЕНИЕ', заложенное в это понятие.}
Упомянутые выше в разд. Ь) „опускаемые гиперпонятия” следующие :
„ОФОРМЛЕННОЕ” • „НОМЕР” • „ЛОКАЛИЗУЮЩИЙ” • „ПРИМЕНЯЮЩИЙ” • „ЛЮБОЙ” • „ПРИВОДИМО” • „ЗНАЧЕНИЕ” • „для ЗНАЧЕНИЯ” • „выдающее ИМЯ ПРОВИДА” • „для метки” • „для процедуры” • „вида ПРОВИД” • „в СРЕДЕ” • „!ПАРЫ” • „с 7ОПИСАНИЯМИ 7МЕТКАМИ” • „через 7ОПИСАНИЯ ?МЕТКИ” • „определяющее СЛОЙ” • „ОБОЗНАЧЕНИЕ” • „как ИМЯ ПРОВИДА”.
{Какое из нескольких возможных понятий или символов служит прообразом конструкта, обозначаемого данным парапонятием, выясняют из контекста, в котором это парапонятие встречают. Например, когда говорится о формальном-описателе какого-то описания-тождества, его прообразом будет некоторое понятие, обозначаемое гиперпонятием 'формальный описатель имени вещественного в СРЕДЕ', если терминальное порождение (1.1,3.2.f) этого описания-тождества есть имя вещ х= «лок вещ.}
{Так как всякое парапонятие обозначает некоторый конструкт, то все определенные для конструктов технические термины можно без дополнительной формализации применять и к парапонятиям.}
Если два парапонятия Р и Q обозначают два конструкта S и Т соответственно, то Р называют „составляющим” Q, если S — наследник Ти нет такого {йромежуточного конструкта} U, что
S — наследник U,U — наследник Т и
Р или Q может {в равной мере} обозначать U.
{Так например, a (S1) — это составляющий операнд формулы aX(b+2T(i + j)) (Т) , a b (S2) — нет, поскольку это наследник промежуточной формулы b + 21 (і + j) (U), которая сама есть наследник Т. Аналогично (b + 2T(i + j)) — составляющее замкнутое-предложение формулы Т, а зам- кнутое-предложение (i + j) — нет, поскольку это наследник промужеточно- го замкнутого-предложения. Однако (i + j) — составляющее замкнутое- предложение-выдающее-целое формулы Т, так как указанное промежуточное замкнутое-предложение фактически является замкнутым-предложе- нием-выдающим-вещественное.
операнд
а
операнд
(b + 2t (i + j))
формула
а X (Ь + 21 (i + j))
замкнутое-предложение (-выдающее-вещественное)
(b + 2t (i + j))
формула b + 21 (i + j)
о
операнд b
перанд21 (i + j)
ф
операнд
2
ормулаоперанд
(i + j)
замкнутое-предложение (-выдающее-целое) (i + j) }
Неопределенности.
Если что-то оставлено ,,не определенным” или о чем-то сказано, что оно „не определено”, то это означает, что оно не определено лишь настоящим стандартом и для его определения надо принять в расчет какую-нибудь информацию, находящуюся вне этого стандарта.
{Необходимо отличать выдачу неопределенного значения (, после чего исполнение продолжается с возможно непредсказуемыми результатами,) и полной неопределенности дальнейшего исполнения. Действия, которые следует предпринять в последнем случае, оставляются на усмотрение реализатора. Это может быть одна из форм продолжения (, не обязательно одинаковая в разных реализациях,) или некоторая форма прерывания (2.1.4.3.h). осуществляемая какой-нибудь проверкой во время работы ірограммы.}
Если „требуется”, чтобы какое-то условие удовлетворялось при некотором исполнении, то дальнейшее исполнение не определено, если это условие не удовлетворяется.
„Осмысленная” программа - это программа {2.2.1 .а}, исполнение которой определено настоящим стандартом.
Общие метаправила
Метаправила для видов
А) ВИД :: ПРОСТОЕ; СОСТАВНОЕ; ИМЯ ВИДА; ПРОЦЕДУРА; ПРЕДСТАВИТЕЛЬ; ЦИ определение ВИДА; использование ЦИ.
В) ПРОСТОЕ :: ЧИСЛОВОЕ; логическое; литерное.
2) ЧИСЛОВОЕ :: 7РАЗМЕРНОЕ целое; 7РАЗМЕРНОЕ вещественное.
О) ’РАЗМЕРНОЕ : : длинное 7ДЛИННОЕ; короткое 7КОРОТКОЕ; ПУСТО. Є) 7ДЛИННОЕ :: длинное 7ДЛИНН0Е; ПУСТО.
й) ’КОРОТКОЕ :: короткое’КОРОТКОЕ; ПУСТО.
1) ПУСТО::.
Т) СОСТАВНОЕ :: структура содержащая !ПОЛЯ в себе; 7ПОДВИЖНЫЙ МАССИВ из ВИДА.
і) !ПОЛЯ::ПОЛЕ; !ПОЛЯПОЛЕ.
Г) ПОЛЕ :: СЛОВО {942А} для выборки ВИДА.
.<) ’ПОДВИЖНОЕ :: подвижное; ПУСТО.
L) МАССИВ :: вектор; МАССИВ векторов.
И) ИМЯ ::имя; временное имя.
ПРОЦЕДУРА :: процедура 7ПАРАМЕТРИЗОВАННАЯ вырабатывающая ЗНАЧЕНИЕ.
’ПАРАМЕТРИЗОВАННАЯ .: с! ПАРАМЕТРАМИ; ПУСТО.
7) ЧІАРАМЕТРЫ :: ПАРАМЕТР; !ПАРАМЕТРЫ ПАРАМЕТР.
Q) ПАРАМЕТР :: параметр вида ВИД.
ЗНАЧЕНИЕ :: ВИД; пустое значение.
ПРЕДСТАВИТЕЛЬ :: объединение ’ОБЫЧНЫХ воедино.
I ЮБЫЧНЫЕ :: ОБЫЧНОЕ; ’ОБЫЧНЫЕ ОБЫЧНОЕ.
ОБЫЧНОЕ :: ПРОСТОЕ; СОСТАВНОЕ; имя ВИДА; ПРОЦЕДУРА;
пустое значение
.ЦИ::ци НОМЕР.
НОМЕР::!; НОМЕР.
Метаправила, связанные с фразами и приведением
А) ЗАКРЫТОЕ :: замкнутое; совместное; параллельное; ВЫБИРАЮЩЕЕ {34А}; циклическое.
ДЕЙСТВУЮЩЕЕ :: в СРЕДЕ ПРИВОДИМО выдающее ЗНАЧЕНИЕ.
ПРИВОДИМО : сильно; крепко; раскрыто; слабо; мягко.
1.2.3. Метаправила, связанные со средами
СРЕДА:: СЛОЙ; СРЕДА с СЛОЕМ.
СЛОЙ :: новые 7ОПИСАНИЯ 7МЕТКИ.
7ОПИСАНИЯ :: ! ОПИСАНИЯ; ПУСТО.
1ОПИСАНИЯ :: ОПИСАНИЕ; ЮПИСАНИЯ ОПИСАНИЕ.
Е) ОПИСАНИЕ :: СЛОВО {942AJ для ВИДА; ИНФИКС {942F} для приоритета ПРИОРИТЕТ; ИНДИКАНТ {942DJ-для ЗНАЧЕНИЯ НОМЕР; ИНФИКС {942F3- для ДВУМЕСТНОЙ; ПРЕФИКС {942К} для ОДНОМЕСТНОЙ.
F) ПРИОРИТЕТ :: I; II; III; III I; III II; III III; III III 1; III III II; III III III. G) ОДНОМЕСТНАЯ :: процедура с ПАРАМЕТРОМ вырабатывающая ЗНАЧЕНИЕ.
Н) ДВУМЕСТНАЯ :: процедура с ПАРАМЕТРОМ ПАРАМЕТРОМ2 вырабатывающая ЗНАЧЕНИЕ.
Г) '’МЕТКИ :: 'МЕТКИ; ПУСТО.
!МЕТКИ :: МЕТКА; !МЕТКИ МЕТКА.
МЕТКА :: СЛОВО {942А}для метки.
Общие г ипер правила
{Предикаты используют в синтаксисе, чтобы обеспечить в деревьях порождения соблюдение определенных ограничений типа того, что каждый ис- пользующий-индикатор должен идентифицировать некоторый однозначно находимый определяющий-индикатор. Их более скромная цель состоит в уменьшении числа гиперправил при помощи группировки нескольких сходных случаев в качестве альтернатив одного правила. В этих случаях с помощью предикатов можно выяснить, какую из альтернатив применить.}
Синтаксис общих предикатов
ПОНЯТИЕ :: ЛИТЕРА; ПОНЯТИЕ ЛИТЕРА.
ЛИТЕРА :: а; б: в; г; д; е; ж; з; и; й; к; л; м; н; о; п; р; с; т; у;
ф; х; ц; ч; ш; щ; ъ; ы; ь; э; ю; я; I.
7ПОНЯТИЕ :: ПОНЯТИЕ; ПУСТО.
УТВЕРЖДЕНИЕ :: ПОНЯТИЕ; (7ПОНЯТИЕ) 7ПОНЯТИЕ2;
УТВЕРЖДЕНИЕ (7ПОНЯТИЕ1) 7ПОНЯТИЕ2.
ЕСЛИ :: если; если неверно что.
если истина : ПУСТО.
если неверно что ложь : ПУСТО.
если УТВЕРЖДЕНИЕ! и УТВЕРЖДЕНИЕ2:
если УТВЕРЖДЕНИЕ!, если УТВЕРЖДЕНИЕ2.
если УТВЕРЖДЕНИЕ! или УТВЕРЖДЕНИЕ2: если УТВЕРЖДЕНИЕ!; если УТВЕРЖДЕНИЕ?.
если неверно что УТВЕРЖДЕНИЕ! и УТВЕРЖДЕНИЕ?: если неверно что УТВЕРЖДЕНИЕ 1; если неверно что УТВЕРЖДЕНИЕ?.
если неверно что УТВЕРЖДЕНИЕ! или УТВЕРЖДЕНИЕ?: если неверно что УТВЕРЖДЕНИЕ!, если неверно что УТВЕРЖДЕНИЕ?.
ЕСЛИ (7ПОНЯТИЕ1) есть (7ПОНЯТИЕ2) :
ЕСЛИ (7ПОНЯТИЕ1) начинается с (7ПОНЯТИЯ?) {h, i,jl
и (7ПОНЯТИЕ?) начинается с (7ПОНЯТИЯ1) {h, і, jj-.
ЕСЛИ (ПУСТО) начинается с (ПОНЯТИЯ) {g, jj- :
ЕСЛИ ложь {b,-J-.
1) ЕСЛИ (7ПОНЯТИЕ) начинается с (ПУСТО) {g, j}:
ЕСЛИ истина {а, -J-.
j) ЕСЛИ (ЛИТЕРА1 7ПОНЯТИЕ1) начинается с (ЛИТЕРЫ? 7ПОНЯ- ТИЯ?) {g,j,mj-;
ЕСЛИ (ЛИТЕРА 1) совпадает с (ЛИТЕРОЙ?) в (абвгдежзийклмнопрстуфкцчшщьыъэюя!) {k, 1, -J- и (ПОНЯТИЕ!) начинается с (ПОНЯТИЯ?) {h, і, j}. к) если (ЛИТЕРА) совпадаете (ЛИТЕРОЙ) в (ПОНЯТИИ) {j}: если истина {aj-
если неверно что (ЛИТЕРА 1) совпадает с (ЛИТЕРОЙ?) в (ПОНЯТИИ)
<j>-'
если (ПОНЯТИЕ) содержит (ЛИТЕРУ 1 7ПОНЯТИЕ ЛИТЕРУ?) {mJ- или (ПОНЯТИЕ) содержит (ЛИТЕРУ? 7ПОНЯТИЕ ЛИТЕРУ1) {mJ-, m) ЕСЛИ (ЛИТЕРА 7ПОНЯТИЕ) содержит (ПОНЯТИЕ) {1, mJ-
ЕСЛИ (ЛИТЕРА 7ПОНЯТИЕ) начинается с (ПОНЯТИЯ) {j J-
или (7ПОНЯТИЕ) содержит (ПОНЯТИЕ) {m, nJ-.
п) ЕСЛИ (ПУСТО) содержит (ПОНЯТИЕ) {mJ-:
ЕСЛИ ложь {b,-J-.
{Малые синтаксические знаки ,,(”и„)” используют, чтобы простым способом обеспечить однозначное применение этих предикатов. J-
?. Выполнимость предикатов
Всякий „предикат” есть протопонятие, начинающееся с 'если'или 'если неверно что' {объединяемых в 'ЕСЛИ'І-. Для каждого предиката Р либо можно породить одно или несколько деревьев порождения {1.1.3.?.fJ- {, каждое из которых невидимо, J- и тогда Р „выполняется”, либо нельзя породить никакого дерева порождения {, поскольку каждая попытка породить какое-нибудь из них заводит в тупик, J-и тогда Р „не выполняется”.
{Например, предикат 'если (аб) есть (аб)' выполняется. Его дерево порождения можно изобразить так:если (аб) есть (аб) '
'если (аб) начинается с (аб) и (аб) начинается с (аб)
I
I ;I
'если (аб) начинается с (аб)' 'если (аб) начинается с, (аб)
(далее одинаково
с левой ветвью)