Ь) Представление каждого символа-выделенное-СЛОВО, если оно вообще существует, состоит из знаков, соответствующих по порядку 'БУКВАМ' или 'ЦИФРАМ', содержащимся в этом 'СЛОВЕ' но без разделяющих их особенностей типографского набора}. Знак, соответствующий каждой 'БУКВЕ' ('ЦИФРЕ'), аналогичен знаку, представляющему соответствующий символ-БУКВА (символ-ЦИФРА), что воспроизводится в настоящем стандарте соответствующей буквой (цифрой). {Приемлемы также и другие способы указания этой аналогии, распознаваемые без дополнительных разъяснений, например, лицо, лицо, ЛИЦО, лицо и 'лицо' могут все быть представлениями для символа-выделенные-буква-л-буква-и-буква-ц-буква-о.}
Однако представление никакого символа-выделенное-СЛОВО не может быть таким же, как любое представление любого другого символа} ; и, следовательно, может существовать конечное множество символов-выде- ленное-СЛОВО, которые не имеют представления, так, например, нет представления для символа-выделенные-буква-в-буква-е-буква-щ, потому что вещ есть представление для символа-вещественное; отметим, что число свободных символов-выделенное-СЛОВО остается произвольно большим.} Если согласно принятым соглашениям, данная последовательность знаков может быть либо представлением одного символа-выделенное-СЛОВО, либо конкатенацией представлений двух или более других символов, то она всегда должна разбираться как один этот символ {; включение пробела может всегда вынудить другую интерпретацию; например имявещ — один символ, а имя вещ всегда должны быть двумя}. Символы-выделенное- СЛОВО используются для индикаторов-вида и для обозначений-операции.}
с) Представление каждого символа-РАЗМЕРНОЕ-? РАЗМЕРНОЕ-СТАН- ДАРТНОЕ состоит из представления соответствующего символа-РАЗМЕРНОЕ с возможно следующими за ними особенностями типографского набора, за которыми идет представление соответствующего символа-?РАЗМЕР- НОЕ-СТАНДАРТНОЕ. Например, представление символа-длинное-вещест- венное будет длин вещ или, возможно, 'длин' 'вещ' (, но, согласно сказанному в п. b выше, не длинвещ и не 'длинвещ', так как последние могли бы быть представлениями для символа-выделенные-буква-д-буква-л-буква-и- буква-н-буква-в-буква-е-буква-щ). Символы-?РАЗМЕРНОЕ-СТАНДАРТНОЕ используются для ин дик аторо в -в и да.}
Представление каждого символа-ЗНАКОВЫЙ-перед-присвоить (символа-ЗНАКОВЫЙ-перед-присвоить-направо) состоит из знака или знаков, представляющих соответствующий символ-ЗНАКОВЫЙ, за которыми, без вмешательства особенностей типографского набора, идут знаки, представляющие символ-присвоить (символ-присвоить-направо) . {Например, представлением символа-плюс-перед-присвоить является +:=. Символы-ЗНАКО- ВЫЙ-перед-?ПРИСВОЕНИЕМ используются для обозначений-операции.}
Представление каждого символа-ЗНАК-перед-НЕПРЕФИКСНЫМ состоит из знака, представляющего соответствующий символ-ЗНАК, за которым без вмешательства особенностей типографского набора, идет знак, представляющий соответствующий символ-НЕПРЕФИКСНЫЙ. {Например, представлением символа-от-до-перед-умножить является -^Х. Символы- ЗНАК-перед-НЕПРЕФИКСНЫМ2 могут быть только обозначениями-бинар- ной-операции. J
СТАНДАРТНАЯ ЯЗЫКОВАЯ ОБСТАНОВКА
{Данная „стандартная языковая обстановка” охватывает составляющие ВНЕШНИЕ-вступления, системные-задачи и собственные заключения всякого текста-программы. }
Тексты программ
{Программист имеет дело с собственно-программами (lO.l.l.g). Последние всегда включены в текст-программы (10.1.1.а), содержащий также стандартное-вступление, библиотечное-вступление, зависящее от реализации системное-вступление и системные-задачи, соответствующие операционной обстановке, возможно некоторые другие собственно-программы, одно или несколько собственных вступлений (по одному для каждой из собственно-программ) и одно или несколько собственных-заключений.}
Синтаксис
ВНЕШНЕЕ :: стандартное;
библиотечное; системное; собственное.
СТОП :: буква эс лат буква тэ лат буква о лат
буква пэ лат для метки буква с буква т буква о буква п для метки.
текст программы:
знак начало ОФОРМЛЕННЫЙ {94f },
вступления в новом {ПУСТО} сСЛОЕМІ {b},
знак параллельно { 94f} ,
УПАКОВКА задач в новом (ПУСТО J с СЛОЕМ1 { dy , знак конец ОФОРМЛЕННЫЙ { 94f }.
вступления в СРЕДЕ1 {а]:
стандартное вступление с ЮПИСАНИЯМИ1 в СРЕДЕ1 {с} , .
библиотечное вступление с 7ОПИСАНИЯМИ2 в СРЕДЕ1 [с] , системное вступление с 7ОПИСАНИЯМИЗ в СРЕДЕ1 [с] , если (СРЕДА1) есть (новое ПУСТО с новыми
!ОПИСАНИЯМИЇ 7ОПИСАНИЯМИ2 7ОПИСАНИЯМИЗ) . с) ВНЕШНЕЕ вступление с 7ОПИСАНИЯМИ1 в СРЕДЕ! {b, f} : кортеж с 70ПИСАНИЯМИ1 сильно
выдающий пустое значение в СРЕДЕ1 {32Ь} , знак продолжать {94fJ ;
если (7ОПИСАНИЯ1) есть (ПУСТО),ПУСТО.
задачи в СРЕДЕ! {а}:
список системных задач в СРЕДЕ 1 [е} , знак а также {94f}, список УПАКОВОК задач пользователя в СРЕДЕ 1 {fj .
системная задача в СРЕДЕ1 {dj :
основа в СРЕДЕ1
сильно выдающая пустое значение {32d} .
задача пользователя в СРЕДЕ1 { d} : собственное вступление с ЇОПИСАНИЯМИ в СРЕДЕ2 {с }, УПАКОВКА собственно программы в СРЕДЕ2 £gj , знак продолжать {94f}, собственное заключение в СРЕДЕ2 {і}, если (СРЕДА2) есть (СРЕДА 1 с новыми .'ОПИСАНИЯМИ {и} СТОПОМ).
собственно программа в СРЕДЕ2 £ f} :
групповое определение меток через 7МЕТКИЗ в СРЕДЕ2 с новыми 7МЕТКАМИЗ { h} , ЗАКРЫТОЕ предложение в СРЕДЕ2 с новыми 7МЕТКАМИЗ сильно выдающее пустое значение £31а, 33а, с, 34а, 35а} . h) групповое определение меток
через 7МЕТКИ в СРЕДЕ £g, h}:
если (7МЕТКИ) есть (ПУСТО), ПУСТО;
если (7МЕТКИ) есть (МЕТКА! 7МЕТКИ1), определение метки через МЕТКУ! в СРЕДЕ {32с} , групповое определение меток через 7МЕТКИ в СРЕДЕ £h}.
і) собственное заключение в СРЕДЕ2 {fj: кортеж с СТОПОМ сильно выдающий пустое значение в СРЕДЕ2 /32Ь} .
{Примеры:
(с стандартное-вступление с; с библиотечное- вступление с; с системное-вступление с;
пар начало с системная-задача-1 с, с системная-задача-2 с, (с собственное-вступление с;
(старт: начать: нач пропуск кон);
с собственное-заключение с),
(с другая-задача-пользователя с)
конец)
с стандартное-вступление (10.2, 10.3) с;
с библиотечное-вступление с;
с системное-вступление (10.4.1) с;
d) с системная-задача-1 (10.4.2.а) с,
с системная-задача-2 с,
(с собственное-вступление с;
(старт: начать: нач пропуск кон);
с собственное-заключение с), (с другая-задача-пользователя с) f) с собственное-вступление (10.5.1) с;
(старт: начать: нач пропуск кон);
с собственное-заключение (10.5.2) с
старт: начать: нач пропуск коп
старт: начать:
stop: стоп: снять (станд ввод) ;
снять (станд вывод); снять (станд обмен)}
. Соответствие языковой обстановке'
Программа в строгом языке должна быть подобна {1.1.3.2.к ] некоторому тексту-программы, составляющие ВНЕШНИЕ-вступления и собст- венные-заключения которого задаются ниже в настоящем разделе.
.{Удобно говорить о стандартном-вступлении, библиотечном-вступле- нии, собственно-программе и т.п. некоторой программы, когда рассматриваются фрагменты этой программы, соответствующие составляющему стандартному-вступлению и т.п. соответствующего текста-программы. }
Составляющим стандартным-вступлением всех текстов-программы является стандартное-вступление, представление которого получается {10.1.3} из форм, данных в подразделах 10.2 и 10.3.
Составляющее библиотечное-вступление в настоящем стандарте не задано ни для какого текста-программы {, но должно быть задано для каждой реализации; синтаксисом 'текста программы' гарантируется, что никакое описание, содержащееся в любом библиотечке м-вступлении, не может противоречить никакому описанию, содержащемуся в стандартном- вступлении, указанном выше.}
Составляющим системным-вступлением (списком-системных-задач) всех текстов-программ является системное-вступление (список-систем- ных задач), представление которого получается из форм, данных в подразделе 10.4, с возможным добавлением других форм, не задаваемых в настоящем стандарте {, но которые задаются, чтобы удовлетворить требованиям операционной обстановки в каждой реализации }.
Каждым составляющим собственным-вступлением (собственным- заключением) всех текстов-программ является собственно-вступ.ч’ние
(собственно-заключение), представление которого получается из форм, данных в подразделе 10.5, с возможным добавлением других форм, не задаваемых в настоящем стандарте [, но которые задаются в каждой реализации}.
. Способ описания стандартной языковой обстановки
Представление ВНЕШНЕГО-вступления, системной-задачи или собст- венного-заключения получается за счет внесения изменений в каждую из форм в соответствующем разделе этой главы посредством следующих шагов:
Шаг 1: Если данная форма F начинается с (символа-операция} оп и за ним идет один из знаков Р, Q, R или Е, то F заменяется рядом новых форм — копий формы F, в которых этот {следующий за оп} знак в каждой соответствующей новой форме заменяется (все другие вхождения этого знака в F заменяются) на:
Случай А: Знак есть?:
• —, + ,<Х, *>или /
(—, +, X или /);
Случай В: Знак есть Q:
< minusab, минпр, -: =>,
plusab, плюспр, + ;= >,
timesab, умпр, X :=, * : = > или
divab, делпр, /: = >
X := или/:=);
Случай С: Знак есть R:
< <, It, мш >,<<,< =, 1е, нб >, Ч =, eq, рв >,<=#,/=, пе, нр >, О, > =, ge, нм > или < >, gt, бш > (<, <, =, ¥=, > или >);
Случай D: Знак есть Е:
< =, eq, рв > или < #=, / =, пе, нр >
= или ¥=);
Шаг 2: Если в некоторой форме, возможно полученной на предыдущем шаге, встречается знак *- , за которым идет какой-нибудь ИНДИКАТОР (указатель-поля) 1, то это вхождение удаляется, а каждый ИНДИКАТОР (указатель-поля), подобный (1.1.3.2.к) этому 1 и содержащийся в любой из форм, заменяется копией одного и того же ИНДИКАТОРА (указателя-поля), не встречающегося нигде в данной программе, после чего шаг 2 предпринимается снова.
Шаг 3: Если данная форма F,.возможно измененная или полученная на предыдущих шагах, начинается с {символа-операция} ор, за которым идет разделенная символами-а-также-цепочка символов- АФФИКС, и эта цепочка заключена между < и >, то эта F заменяется рядом разных ее „версий”, причем каждая из них является копией формы F и в ней данная цепочка вместе с охватывающими ее знаками < или > заменена одним из входящих в нее символов- АФФИКС «С : однако никакая реализация не обязана обеспечивать более одной из таких версий 9.4.b)J .
Шаг 4: Если в данной форме, возможно измененной или полученной на предыдущий шагах, встречается заключенная между < и > последовательность S символов и в S встречаются L int, Д цел, L real, Д вещ, L compl, Д компл, L bits, Д бит, L bytes или Д слог, то S заменяется разделенной символами-а-также цепочкой достаточного числа последовательностей, причем n-я из них является копией последовательности Зив ней каждой вхождение Д (Д, L, L, У, С) заменено повторенным п - 1 раз длин (длин, long, long, удл, укр); за этой цепочкой идут символ-а-также и другая разделенная символами-а-также цепочка достаточного числа последовательностей, причем m-я из них является копией последовательности S и в ней каждое вхождение Д (Д, L, L, У, С) заменено повторенным m раз кор (кор, short, short, укр, удл); после этого удаляются охватывающие S знаки < и >.
Шаг 5: Если в данной форме F, возможно измененной или полученной на предыдущих шагах, встречаются L int (Д цел, L real, Д вещ, L compl, Д компл, L bits, Д бит, L bytes, Д слог), то эта F заменяется последовательностью достаточного числа новых форм, причем n-я из них является копией формы F и в ней каждое вхождение Д (Д, L, L, У, С) заменено повторенным п — 1 раз длин (длин, long, long, удл, укр) а каждое вхождение длин Д (длин Д, long L, long L) заменено повторенным п раз длин (длин, long, long); за этой последовательностью идет другая последовательность достаточного числа новых форм; причем m-я из них является копией формы F и в ней каждое вхождение Д (Д, L, L, У, С) заменено повторенным ш раз кор (кор, short, short, укр, удл), а каждое вхождение длин Д (длин Д, long L, long L) заменено повторенным in — 1 раз кор (кор, short, short).
Шаг 6: Каждое вхождение F (ПЕРВ) в любую форму, возможно измененную или полученную на предыдущих шагах, заменяется некоторым представлением символа-буква-алеф (символа-первичный) {9.4.а}
Шаг 7: Если в любой форме, возможно измененной или полученной на предыдущих шагах, встречается последовательность представлений, начинающаяся и оканчивающаяся знаками с, то эта последовательность, называемая „псевдопримечанием”, заменяется некоторым представлением описателя или замкнутого-предложения, неформально задаваемого данной последовательностью.
Шаг 8: Если в любой форме, возможно измененной или полученной на предыдущих шагах, встречается текст-процедуры, вызов которого включает действия с вещественными числами, то этот текст-процедуры, можно заменить любым другим текстом-процедуры, вызов которого имеет приблизительно тот же эффект ; /степень такого приближения оставлена в настоящем стандарте не определенной (см. также 2.1.3.1.е)} .