Синтаксис.
вызов ситуации в СРЕДЕ выдающий ЗНАЧЕНИЕ {5D}: возможный знак возбудить {94 f}, использующий СЛОВО идентификатор в СРЕДЕ выдающий ситуацию с видом процедура 7ПАРАМЕТРИЗО- ВАННАЯ вырабатывающая ЗНАЧЕНИЕ {48 b}, параметризация 7ПАРАМЕТРИЗОВАННАЯ в СРЕДЕ {Ь, с}.
параметризация с ! ПАРАМЕТР АМ И в СРЕДЕ {а}: упакованные кратким фактические J ПАРАМЕТРЫ в СРЕДЕ {543b,с}.
параметризация в СРЕДЕ {а}: ПУСТО.
{Примеры:
возбуд недопустимый аргумент (х) }
Семантика.
выдача W вызова-ситуации Y в окружении Е определяется следующим образом:
пусть X есть выдача использующего-идентификатора-ситуации из Y в Е;
пусть Н и F - это, соответственно, процедура и окружение реакции {Ь} для X в Е;
пусть Е1 — новое {локализующее, см. 3.2.2.2.Ь} окружение, устанавливаемое вокруг Е; Е1 называется связанным с F посредством X;
пусть V], ... , Vn будут {совместными} выдачами составляющих фактических параметров этого Y, если они вообще есть, в Е1;
W есть выдача „вызова” {5.4.3.2.b} Н в Е1, возможно, со значениями {параметров} Vj , ... , Vn;
требуется, чтобы W по области действия не была младше Е, причем восстанавливающим действием служит вызов процедуры восстановление после ошибки области действия {10.2.5.п}.
процедура реакции Н и окружение реакции F для сцены X в окружении Е определяются следующим образом:
требуется, чтобы Е по области действия не было младше окружения из X, причем восстаналивающим действием является вызов процедуры восстановление после общей ситуации {10.2.5 .о};
если существует значение R, реагирующее на X внутри участка из Е, то Н есть R и F есть Е;
иначе
пусть Е1 есть отсчетное окружение {с} для X в Е;
пусть Е2 есть окружение, по которому {3.2.2.Ь} установлено окружение Е;
Н и F — это процедура и окружение реакции для X в Е2.
отсчетное окружение F для сцены X в окружении Е определяется следующим образом:
если Е связано посредством X с другим окруженим Е1, то F есть Е1;
иначе F есть Е.
Основы, связанные со значениями любого вида, соответствуют ГОСТ 27974.
Заготовки
Синтаксис
ЯЗЫК : : алгол шестьдесят восемь.
К вышеприведенному метаправилу могут быть добавлены дополнительные гиперпонятия {например, „фортран”}.
АЛГОЛ 68 : : алгол шестьдесят восемь.
виртуальная заготовка в СРЕДЕ сильно выдающая ЗНАЧЕНИЕ {5А}:
символ виртуальная среда, замкнутое предложение в СРЕДЕ сильно выдающее ЗНАЧЕНИЕ {31а}.
формальная заготовка в СРЕДЕ сильно выдающая ЗНАЧЕНИЕ {5А}:
знак формальная среда {94d},
индикатор ЯЗЫКА выдающий ЗНАЧЕНИЕ {е, f, -}, индикатор заготовки {d}.
фактическая заготовка в СРЕДЕ выдающая ЗНАЧЕНИЕ {Аба}: ЗАКРЫТОЕ предложение в СРЕДЕ сильно выдающее ЗНАЧЕНИЕ {31а, 33а, с, 34а, 35а,-,36а,-}.
индикатор заготовки {Ь}
изображение литерного {814а};
изображение вектора из литерных {83а}.
индикатор АЛГОЛ 68 выдающий ЗНАЧЕНИЕ {Ь}: ПУСТО.
для каждого дополнительного терминального метапорождения „ЯЗЫКА” должны быть добавлены гиперправила для гиперпонятий формы „индикатор ЯЗЫКА выдающий ЗНАЧЕНИЕ”; каждое из таких правил содержит ровно одну альтернативу, которая должна быть отличимым знаком выделенное СЛОВО.
{Примеры;
среда ”abc”
подкд a, b (х: = 1; у: = 2; печ (х + у))
” а ” "abc”}
{Поскольку для символа-виртуальная-среда не задано никакого представления, пользователь не может сам создавать виртуальные-заготовки, однако задан механизм (10.6.2.а) для построения их из формальных- и факти- ческих-заготовок.}
{Выдачей виртуальной-заготовки! является, вследствие предысполне- ния (2.1.4.1.с), выдача ее замкнутого-предложения. Для формальных- или фактических-заготовок не задано никакой семантики, поскольку их исполнение никогда не требуется.}
ПРИВЕДЕНИЕ
Все прагматические замечания соответствуют ГОСТ 27974.
Приведенные
Синтаксис
Метаправила А, В, С, D, Е, G соответствуют ГОСТ 27974.
F) РАСКРЫВАЕМОЕ : : выборка в СРЕДЕ; вырезка в СРЕДЕ;
вызов в СРЕДЕ; вызов ситуации в СРЕДЕ; текст процедуры в СРЕДЕ;
АРНАЯ формула в СРЕДЕ;
использующий СЛОВО идентификатор в СРЕДЕ.
Гиперправила a, b, с, d, е, f, g, h соответствуют ГОСТ 27974.
Разыменование
Синтаксис соответствует ГОСТ 27974.
Семантика
Выдача W ФОРМЫ-выдающей-ВИД-после-разыменования F определяется следующим образом:
пусть {имя} N — выдача ФОРМЫ-после-РАСКРЫТИЯ F;
требуется, чтобы N, не было псевдоименем, причем восстанавливающим действием служит вызов процедуры восстановление после ошибки псевдоимени -С 10.2.5.13-;
• W — значение, именуемое этим N .
Распроцедуривание соответствует ГОСТ 27974.
Объединение соответствует ГОСТ 27974.
Обобщение соответствует ГОСТ 27974.
Векторизация соответствует ГОСТ 27974.
Опустошение соответствует ГОСТ 27974.
ВИДЫ И СРЕДЫ
Все прагматические замечания соответствуют ГОСТ 27974.
Н е з а в и с и м о с т ь свойств
Синтаксис
Метаправила А, В соответствуют ГОСТ 27974.
С) ЕСЛИ ОБОЗНАЧЕНИЕ! для ПРИЗНАКАІ не зависит от ОБОЗНАЧЕНИЯ для ПРИЗНАКА2 {а, 48а, с, 72а}:
если неверно что (ОБОЗНАЧЕНИЕ!) есть (ОБОЗНАЧЕНИЕ2), ЕСЛИ истина;
если (ОБОЗНАЧЕНИЕ!) есть (ОБОЗНАЧЕНИЕ2) и (ОБОЗНАЧЕНИЕ!) есть (АФФИКС),
ЕСЛИ ПРИЗНАК! не зависит от ПРИЗНАКА2 {di;
если (ОБОЗНАЧЕНИЕ!) есть (ОБОЗНАЧЕНИЕ2) и (ОБОЗНАЧЕНИЕ!) есть (СЛОВО),
если (ПРИЗНАК!) есть (СИТУАЦИЯ! с видом ПРОЦЕДУРА!) и (ПРИЗНАК2) есть (СИТУАЦИЯ2 с видом ПРОЦЕДУРА2),
ЕСЛИ (СИТУАЦИЯ! СИТУАЦИЯ?) есть (ситуация реакция) или (СИТУАЦИЯ! СИТУАЦИЯ2) есть (РЕАКЦИЯ ситуация).
Гиперправила a, b, с, d, е, f, g, h, і, j, k, 1, m, n, соответствуют ГОСТ 27974.
И д e н т и ф и к а ц и я в средах
Синтаксис
Гиперправила а, b соответствуют ГОСТ 27974.
с) ЕСЛИ ОБОЗНАЧЕНИЕ для ПРИЗНАКАІ находится в ОБОЗНАЧЕНИИ для ПРИЗНАКА2 {a, b, 48d}:
если (ПРИЗНАК!) есть (метка) или (ПРИЗНАК!) есть (БИНАРНОЕ) или (ПРИЗНАК!) есть (выборка ВИДА), или (ПРИЗНАК!) есть (!СВЯЗИ с модулями) или (ПРИЗНАК!) есть (запуск),
ЕСЛИ (ПРИЗНАК!) есть (ПРИЗНАК2) ;
если (ПРИЗНАК!) есть (ЗНАЧЕНИЕ! 7НОМЕР) и (ПРИЗНАК2) есть (ЗНАЧЕНИЕ2 7НОМЕР),
ЕСЛИ ЗНАЧЕНИЕ! эквивалентно ЗНАЧЕНИЮ2 {73а3;
если (ПРИЗНАК!) есть (СИТУАЦИЯ с видом ПРОЦЕДУРА!) и (ПРИЗНАК2) есть (СИТУАЦИЯ с видом ПРОЦЕДУРА2),
ЕСЛИ ПРОЦЕДУРА! эквивалентна ПРОЦЕДУРЕ2 {73а}.
Семантика
Гиперправила a,d соответствуют ГОСТ 27974.
Определяющий блок-в СРЕДЕ {а} каждого использующего-ОБОЗ- НАЧЕНИЕ-индикатора-выдающего-ПРИЗНАК II {по необходимости} содержит либо определяющий-ОБОЗНАЧЕНИЕ-индикатор-в-СРЕДЕ-с-СЛОЕМ- выдающий-ПРИЗНАК 12, либо один или {возможно} несколько исполь- зующих-индикаторов-модулей 13, являющихся прямыми наследниками открывающих-!СВЯЗИ-вызовов-модулей-в-СРЕДЕ, в !СВЯЗИ' которых заложено 'ОБОЗНАЧЕНИЕ для ПРИЗНАКА'. В этом случае говорится, что II идентифицирует это 12 или каждое из этих 13.
Окружение Е, „необходимое для” конструкта С в окружении Е1, определяется следующим образом:
Если Е1 -- первичное окружение (2.2.2.а),
то Е есть Е1;
иначе пусть Е1 будет составлено из участка L, соответствующего каким-то '7ПАРАМ', и другого окружения Е2;
Если С содержит любой использующий-ОБОЗНАЧЕНИЕ-индикатор- выдающий-ПРИЗНАК,
не идентифицирующий {Ь} никакого определяющего-индикатора, содержащегося в С,
не являющийся прямым наследным индикатором-вида для формаль- ного-или виртуального-описателя и
такой, что предикат если ОБОЗНАЧЕНИЕ для ПРИЗНАКА находится в 7ПАРАХ' {7.2.1 .Ь} выполняется,
или если С содержит виртуальную-заготовку,
то Е есть Е1;
иначе {L не необходимо для С и} Е — окружение, необходимое для С в Е2.
Эквивалентность видов соответствует ГОСТ 27974.
Правильность построения соответствует ГОСТ 27974.
ИЗОБРАЖЕНИЯ
Изображения определены в ГОСТ 27974.
ЗНАКИ И СИМВОЛЫ
Все прагматические замечания соответствуют ГОСТ 27974.
Знаки соответствуют ГОСТ 27974.
Примечания и прагматы соответствуют ГОСТ 27974.
Представления соответствуют ГОСТ 27974.
Эталонный язык
Гиперправила a, b, с, d соответствуют ГОСТ 27974
.9.4.1. Представления символов. |
|
|
Списки символов a, b, c, e, g. h соответствуют ГОСТ 27974. |
||
d) Символы для описаний |
|
|
символ |
|
предствление |
символ определяется как |
|
|
{42b, 43b, 44с, 45сТ |
— |
|
символ длинное {810а, 82аТ |
long |
длин |
символ короткое {810а, 82ЬЗ- |
short |
кор |
символ имя {46с} |
ref |
имя имени |
символ локальный {523а, Ь} |
loc |
лок |
символ глобальный {523а, ЬЗ- |
heap |
ГЛ О б |
символ структура {46d> |
struct |
ст структ |
символ подвижное {46 gl |
flex |
подв |
символ процедура {44b, 460 3- |
proc |
проц |
символ объединение {4653- |
union |
об |
символ операция {4533- |
op |
оп |
символ приоритет {43а 1 |
prio |
прио |
символ вид {423 3- |
mode |
вид |
символ модуль {4933- |
module |
модуль |
символ подключить {ЗбЬЗ- |
access |
подкл |
символ нзчзло модуля выделенный {49сЗ- |
def |
|
символ нзчало модуля стиля I символ конец модуля выделенный {49сЗ- |
fed |
мд |
символ конец модуля стиля I |
|
дм |
символ открытое {36d, 4163- |
pub |
откр |
символ сброс модуля {49f3- |
postlude |
сброс |
символ формзльнзя средз {56ЬЗ- |
nest |
среда |
символ сегмент {А, Ь, 3, сЗ" |
egg |
сегмент |
f) Синтзксические символы |
|
|
символ |
|
предствление |
символ нзчало выделенный {13 3 d3- |
beqin |
|
символ конец выделенный {133d}- символ начало краткий |
end |
|
{133d, A348b, А34АЬЗ- символ конец краткий |
( |
|
{133d, A348b, А34АЬЗ- символ начало стиля I {133 d3- |
) |
начало |
символ конец стиля I {133d3- |
|
конец |
символы начало стиля II {133d3- |
|
нач |
сймвол конец стиля II {133 d3- символ а также {133с, 33b,f,34h, |
|
кон |
41a,b 46е, i, g, t, 532b, 541е, 543b, A348b, A34A, c, d}символ продолжать {32b} символ завершить {32b} символ метка {32с} |
exit |
выход |
символ параллельно {33с} |
par |
nap |
символ открыть {814с} |
( |
|
символ закрыть {814с} |
) |
|
символ если выделенный {91а} |
if |
|
символ то выделенный {91b} |
then |
|
символ иначе если выделенный {91с} |
el if |
|
символ иначе выделенный {9Id} |
else |
|
символ все выделенный {91 е} |
fi |
|
символ выбрать выделенный {91а} |
case |
|
символ в выделенный {91b} |
in |
|
символ либо выбрать выделенный {91с} |
ouse |
|
символ либо выделенный {9Id} |
out |
|
символ конец выбора выделенный {91 е} |
esac |
|
символ если краткий {91а} символ то краткий {91b} символ иначе если краткий {91с} |
( 1 |
|
символ иначе краткий {91 d} символ все краткий {91е} |
l’ ) |
|
символ выбрать краткий {91а} символ в краткий {91b} символ либо выбрать краткий {91с} символ либо краткий {91 d} |
( 1 1: 1 |
|
символ конец выбора краткий {91е} символ если стиля I {91а} |
) |
если |
символ то стиля I {91b} |
|
TO |
символ иначе если стиля II {91с} |
|
инее |
символ иначе стиля I {91 d} |
|
иначе |
символ все стиля I {91 е} |
|
все |
символ выбрать стиля {91а} |
|
выб |
символ в стиля I {91 Ь} |
|
в |
символ либо выбрать стиля I {91с} |
|
ливы б |
символ либо стиля I {91 d} |
|
либо |
символ конец выбора стиля I {91 е} символ двоеточие {34j,k} символ открыть индексы краткий {133е} |
І |
быв |
символ закрыть индексы краткий {133е} |
] |
|
символ открыть индексы стиля I {1 ЗЗе} |
( |
|
символ закрыть индексы стиля I {133е} символ вплоть до {46j, к, 1, 532f} |
) |
|
символ с {532g} |
@ at |
с |
символ есть {522b} |
is |
есть |