не являющаяся видом никакого значения, фиксируется
'структурой содержащей букву а для выборки вектора из литерных в себе';
являющейся поэтому видом значения, которое может именоваться подвижным именем, имеющим вид
'имя структуры содержащей букву а для выборки подвижного вектора из литерных в себе'.
Этот последний вид уже есть вид имени и, следовательно, его нельзя подвергнуть фиксации.}
{Не существует имен, вид которых начинается с 'временное имя',
„Временное имя” вида 'имя ВИДА' - это выдача некоторой ФОРМЫ- выдающей-временное-имя-ВИДА, но так как в настоящем языке нет описа- телей-временного-имени-ВИДА (4.6.1), то синтаксисом гарантируется, что никакое временное имя никогда не будет присвоено, приписано или выработано в результате вызова процедуры.
Например, хх : =а! [і] не есть присваивание потому, что хх не есть иден- тификатор-выдающий-имя-временного-имени-вещественного. Временные имена возникают в вырезках, выборках из массива или при векторизации имен подвижного.}
Значение вида Ml „приемлемо для” вида М2, если
Ml такой же, как и М2, или
М2 объединен из {a} Ml {например, для специфицированного описателем об (вещ, цел) вида приемлемы значения, вид которых специфицируется либо вещ, либо цел}, или
Ml фиксирует {b} М2 {, например, для вида 'подвижный вектор из вещественных' (, для которого де существует значений,) приемлемы такие значения, как выдача фактического-описателя подв [1 : п] вещ, являющаяся значением вида 'вектор из вещественных'}, или
Ml -- 'имя ВИДА', а М2 — 'временное имя ВИДА' {например, для вида 'временное имя вещественного' приемлемы значения (как выдача вырезки al [і]), вид которых есть 'имя вещественного'}.
{См. 2.1.4.1 .Ь в связи с приемлемостью выдачи сцены.}Действия
Исполнение.
„Исполнение” определенных сцен {, а именно тех, чьи конструкты обозначаются определенными парапонятиями,}- описывается в разделах настоящего стандарта, озаглавленных „Семантика”. В них задается последовательность „действий”, которые надо провести в ходе исполнения каждой такой сцены.
{Примеры действий, которые могут описываться:
сделать справедливыми какие-то соотношения,
создать новые имена и
исполнить другие сцены.}
„Смысл” сцены — это эффект действий, проводимых в ходе ее исполнения. Любое из этих действий или любую их комбинацию можно заменить любым действием или комбинацией, вызывающими тот же эффикт.
Исполнение сцены S может „выдавать” значение. Если конструктом из S является ПОНЯТИЕ-выдающее-ЗНАЧЕНИЕ, то выдаваемое значение, если не оговорено противное, {имеет такой вид, что оно} приемлемо для {2.1.3.6.d} этого 'ЗНАЧЕНИЯ'.
{Это правило позволяет обсуждать выдачи в семантике без явного упоминания их вида. }
Если исполнение некоторого конструкта А в некотором окружении Е не описано явным способом, отличным от сказанного в этом пункте, и В — единственный прямой наследник А, требующий исполнения {см. ниже}, то исполнение А в Е состоит в исполнении В в Е, а выдача А, если таковая полагается, есть выдача этого В, если она существует {; такое автоматическое исполнение называется „предысполнением” А в Е}.
Конструкт не требует исполнения, если он невидим {1.1.3.2.11}, является символом {9.1.1.h} или его исполнение не описано никаким способом в настоящем стандарте и ни один из его прямых наследников не требует исполнения.
{Например, исполнением замкнутого-предложения-выдающего-имя-ве- щественного (3.1.1.а) (х:=3.14) является (, и выдает то же значение, что и) исполнение его составляющего последовательного-предложения-выдающе- го-имя-вещественного (3.2.1.а) х:=3.14}
Последовательные и совместные действия.
Всякое действие может быть „неделимым”, „последовательным’ или „совместным”. Всякое последовательное или совместное действие состоит из одного или нескольких других действия, называемых его „поддействиями”. Неделимое действие не состоит из других действия {; какие действия неделимы, оставлено настоящим стандартом не определенным}.
„Наследным действием” другого действия В является поддействие либо В, либо наследного действия В,
Действие А есть „наддействие” действия В, если В — подцействие {а} для А.
Поддействия всякого последовательного действия S выполняются одно за другим; т.е. за завершением {2.1.4.3.с, dJ-поддействия для S идет запуск {2.1.4.3.Ь, с} следующего поддействия этого S, если оно есть. {Исполнение сцены, состоящее в общем случае из последовательности действий, будет последовательным действием.}
Поддействия совместного действия совмещаются во времени; точнее, выбирается и доводится до конца одно из тех его наследных неделимых действий, которое в данный момент „активно” {2.1.4.3.а}; и по его завершении {2.1.4.3.с} выбирается другое такое действие и т.д. {вплоть до завершения их всех}.
Способ такого выбора оставлен настоящим стандартом не определенным, за тем лишь исключением, что если два действия {, совместные между собой,} названы „несовместимыми” {10.2.4} друг с другом, то {они не должны совмещаться, т.е} ни одно из наследных неделимых действий одного из них (одно из них {, если оно само неделимо,}) не должно выбираться, если другое {действие} активно в данный момент и одно или несколько, но не все из его наследных неделимых действий уже завершены.
Если одна или несколько сцен должны быть „исполнены совместно”, то это исполнение есть совместное действие, состоящее из {совместного} исполнения данных сцен.
Запуск, завершение и прекращение.
Всякое действие либо „активно”, либо „неактивно”. Действие становится активным, когда оно „запускается” {Ь, с} или „возобновляется” {g}; действие становится неактивным, когда оно „завершается” {с, Ь}, „прекращается” {е}, „приостанавливается” {f} или „прерывается” {h}.
Когда последовательное действие „запускается”, запускается его первое поддействие. Когда „запускается” совместное действие, запускаются все его поддействия.
Когда „запускается” неделимое действия, то оно может быть доведено до конца {см. 2.1.4.2.е}, после чего оно становится „завершенным”.
Всякое последовательное действие „завершается”, когда завершается его последнее поддействие. Всякое совместное действие „завершается”, когда завершены все его поддействия.
Когда {последовательное или совместное} действие „прекращается”, прекращаются все его поддействия {и, следовательно, все его наследные действия; {после чего вместо него может запуститься другое действие . Прекращение действия вызывается исполнением перехода (5.4.4.2).}
Когда действие „приостанавливается” приостанавливаются все его поддействия {и, следовательно, все его активные наследные действия} {Действие может приостановиться в течение „вызова” процедуры, выдаваемой обозначением-операции вниз (10.2.4.d), после чего оно может: возобновиться впоследствии, во время вызова процедуры, выдаваемой обозначением-операции вверх (10.2.4.е).} г
Если в какой-то момент приостанавливается некоторое действие, на: являющееся наследным действием „процесса” „параллельного действия’1, {10.2.4}, у другого процесса (других процессов) которого продолжают существовать активные наследные неделимые действия, то дальнейшее исполнение не определено.
Когда действие А „возобновляется”, возобновляются его поддействия, приостановленные вследствие приостановки самого А.
Всякое действие может „прерваться” событием, -[например, „переполнением”,} не определяемым семантикой настоящего стандарта, но вызванным вычислителем, если его возможности {2.2.2.Ь} не позволяют обеспечить удовлетворительное исполнение. Когда действие прерывается, прерываются все его поддействия и, возможно, его наддействия. -[Возобновятся ли эти действия после прерывания, будут ли запущены другие действия или же окончится исполнение данной программы, настоящим стандартом оставлено не определенным.}
{Результат данных выше определений следующий:
В ходе исполнения программы (2.2.2.а) исполнение ее замкнутого- предложения в пустом первичном окружении активно. В любой данный момент исполнение одной сцены может вызвать исполнение другой сцены или совместное исполнение нескольких других сцен. В том случае, когда исполнение этой другой сцены или сцен завершится, предпринимается следующий шаг по исполнению первоначальной сцены и т.д., до тех пор пока он в свою очередь не завершится.
Можно видеть, что все это аналогично обращению одной подпрограммы к другой — выполнение вызвавшей подпрограммы продолжается по завершении выполнения вызванной подпрограммы. Данные в настоящем стандарте семантические правила для исполнения различных парапонятий соответствуют текстам таких подпрограмм; эти семантические правила могут даже в подходящих обстоятельствах рекурсивно вызывать сами себя (, но в каждом таком случае с различными конструктами или в различных окружениях.)
Таким образом, в каждый момент существует дерево активных действий, наследных (2.1.4.2.Ь) для исполнения данной программы.}
Сокращения
{На всем протяжении текста настоящего стандарта свободно используются некоторые сокращения, позволяющие избежать некоторых длинных и запутанных фраз, необходимых в противном случае в семантике.}
„А (этого) В” или „А из В”, где А и В - парапонятия, заменяет фразу „А, которое есть прямой наследник {1.1.3,2.f} В”.
{Это позволяет сокращать „прямой наследник (конструкта)” до ,его”, „из”, „этого” или же просто употреблять форму родительного падежа; например, і в присваивании (5.2.1.1.а) і:=1 есть „его” получатель или і-получатель „этого” присваивания, или даже і-получатель присваивания і: = 1); в то время как і не есть получатель последовательного-предло- кения і 1; j: = 2(, хотя он — составляющий получатель (1.1.4.2.d) этого предложения).}
„С в Е”, где С — конструкт, а Е — окружение, заменяет фразу „сцена, составленная {2.1.1.1.d? из С и Е”. Иногда она сокращается просто до „С”, если ясно, о каком окружении идет речь.
{Так как процесс исполнения (2.1.4.1.а) может применяться только к сценам, это сокращение чаще всего встречается в таких формах, как „Цик- лическое-предложение С в окружении Е1 исполняется...” (3.5.2) или „Присваивание А исполняется...” (5.2.1.2.а, где говорится об исполнении А в любом подходящем окружении) .}
„Выдача (этого) S”, где S - сцена, исполнение которой не предписано явно, заменяет фразу „выдача, получаемая в результате запуска исполнения сцены S, если дожидаться завершения этого исполнения”.
{Таким образом, высказывание (3.2.2.с) „W есть выдача этой основы;”, (использующее также сокращение, определенное в b выше,) надо интерпретировать как означающее
„Исполняется сцена, составленная из данной основы и того окружения, о котором идет речь; W является выдачей, получаемой по завершении исполнения этой сцены; ”.}
„Выдачи Sj, ...,Sn”', где S1; ..., Sn — сцены, исполнение которых не предписано явно, заменяет фразу „выдачи, получаемые в результате запуска совместного исполнения {2.1.4.2.f} сцен S(, ..., Sn, если дожидаться завершения этого исполнения {, что предполагает завершение исполнения всех сцен}”.
Если некоторые или все сцены ..., Sn описаны как определенные составляющие какого-то конструкта, взятые в некотором окружении, то их выдачи должны рассматриваться расположенными в текстуальном порядке {1.1.3.2.і} этих составляющих в данном конструкте.
{Таким образом, высказывание (3.3.2.Ь)
„пусть Vj, ..., Vm будут {совместными} выдачами составляющих основ этого С; ”
должно интерпретироваться как означающее
„пусть Vj, ..., Vm будут соответствующими выдачами, получаемыми в результате запуска и последующего завершения совместного испол нения сцен, состоящих из составляющих основ этого С, взятых В ИІ текстуальном порядке, и того окружения, в котором исполняется С;”.}
„Если А есть (является) В”, где А и В — гиперпонятия, заменяет фразу „если А эквивалентно {2.1.1.2.а} В”.
{Таким образом, в высказывании „Случай С: 'ВЫБИРАЮЩЕЕ' есть некоторое 'выбирающее по ПРЕДСТАВИТЕЛЮ'” (3.4.2.Ь) несущественно, будет ли это 'ВЫБИРАЮЩЕЕ' начинаться с 'выбирающее по объединению' или же с 'выбирающее по ЦИ определению объединения'.}
„Вид есть (является) А”, где А гиперпонятие, заменяет фразу „вид {, являющийся классом протопонятий 'ЗНАЧЕНИЕ'}, который включает это А”.
{Это позволяет употреблять такие сокращенные формы, как „вид есть некоторая 'структура содержащая !ПОЛЯ в себе'”, .данный вид начинается с 'объединение'” или „вид, в который заложено 'ПОЛЕ',, в общем случае вид можно указать, приведя только одно входящее в него ’ЗНАЧЕНИЕ', }
„Значение, выбираемое (генерируемое) по данному указателю-по- ля F,” заменяет фразу „если F - {ПРИМЕНЯЮЩИЙ-}- СЛОВО-указатель- поля {4.8.l.f}, то данное значение выбирается {2.1.3.3.а, е 2.1.3.4.к}- (генерируется {2.1.3.4.1}) по этому 'СЛОВУ'”.
Программа
Синтаксис
а) программа: замкнутое предложение в новом {пустом окружении}- сильно выдающее пустое значение {31а}-
{См. также 10.1 }
Семантика
Исполнение программы есть исполнение ее замкнутого-предло- жения-в-новом-сильно-выдающего-пустое-значение в пустом окружении {2.1 .l.l.c}, называемом „первичным окружением”.
{Несмотря на то, что цель настоящего стандарта — определять смысл собственно-программ (lO.l.l.g), это смысл устанавливается только через предваряющее определение смысла программы, в которую эта собственно- программа вложена (10.1.2).}-