Главная Промышленная автоматика.

2. ОСНОВНЫЕ СИМВОЛЫ, ИДЕНТИФИКАТОРЫ, ЧИСЛА"

И СТРОКИ. ОСНОВНЫЕ понятия

Эталонный язык строится из .следующих основных символов:

(основной символ) ::= (буква)[(цифра)I(логическое значение) (ограничитель)

2.1. Буквы •" < "7 • - •-

(буква) ;.==•, . - . -........ .

a\b\c\d\e]f\g\fi\l\J\k\l\m\n]o\p\g\r\s\t\u\v\w]x\y\z\ A\B\C\D\E\F\G\H\,I\J\K\L\M\N\0\P\Q\R\S\T\U\V\W\X\Y\Z\

Этот алфавит может быть произвольно сужен или расширен добавлением любых других различимых знаков (т. е. символов, не совпадающих с какой бы то ни было цифрой, логическим значением или ограничителем).

Буквы не имеют индивидуального смысла. Они используются для образования идентификаторов и строк ) (см. разд. 2.4. Идентификаторы 2.6. Строки).

2.2. Цифры. Логические значения

2.2.1. Цифры

(цифра) :: = 011 2I34I5I6I7I89 *

Цифры используются для образования чисел, идентификаторов и строк.

2.2.2. Логические значения

(логическое значение) : : = truefalse Логические значения имеют фиксированный очевидный смысл 2).

) Следует особо заметить, что повсюду в эталонном языке подчеркивание (в данном печатном тексте - выделение полужирным шрифтом. - Ред.) используется для выделения независимых основных символов (см. разд. 2.2.2 и 2.3). Подразумевается, что эти основные символы не Имеют никакого отношения к отдельным буквам, из которых они составлены. В настоящем сообщении под*5ерки-вавие для других целей не используется.

*) true - истина, false - ложь. - Прим. ред.



2. Основные cuMBOAjbt 21

2.3. Ограничители

(ограничитель) : :=:(знак операции)[(разделитель)!

(скобка)(описатель)(спецификатор)

(знак операции) : : = (знак арифметической операции)!

(знак операции отношения)!(знак логической опера-ции)(знак операции следования)

(знак арифметической операции) : : = -Х1/- t (знак операции отношения) : : = <!<:!=>!> ф (знак логической операции) : : = rjVA~l (знак операции следования) :: = gotoif!thenelsefor! do»)

(разделитель) : : =, • Iio : I 51 = -I step until

while I comment (скобка): : = ()[ljbeginend

(описатель) : : = own [Boolean! integer! real array I switch I procedure

(спецификатор) :: = string!label!value

Ограничители имеют фиксированный смысл, который в большинстве случаев очевиден 2), а в остальных случаях будет указан ниже.

Такие типографские особенности, как пробел или переход на новую строку, в эталонном языке не принимаются во внимание. Однако для облегчения чтения их можно-свободно использовать.

) do используется в операторах цикла. Это do не имеет никакого отношения к do, употреблявшемуся в предварительном сообщении и не включенному в АЛГОЛ-60.

2) Ниже приводится перевод английских слов, изображающих ряд основных символов АЛГОЛа: go to - перейти к. If - если, then - то, else - иначе, for - для, do - выполнить, step - шаг, until - до, while-пока, commentпримечание, begin-начало, end - конец, own - собственный. Boolean - булевский, или логический. Integer - целый, real - вещественный, array - массив, switch - переключатель, procedure - процедура, string - строка, label - метка, value - значение. - Прим. ред.



Для возможности включения текста между символами программы имеют место следующие правила для примечаний:

Последовательность эквивалентна

основных символов: ; comment (любая последователь- . ность, не содержащая;) ; ;

begin comment (любая последовательность, не содержащая;) ; begin end (любая последовательность, не содержащая ни одного из символов end; else) end

Эквивалентность здесь означает, что любая из трех конструкций, указанных в левой колонке, если она встречается вне некоторой строки, может заменяться соответствующим ей символом, указанным в правой колонке; эта замена не оказывает никакого влияния на работу программы. При этом считается, что конструкцию примечания, встретившуюся раньше при чтении текста слева направо, следует заменять прежде, нежели более поздние конструкции, содержащиеся в этой последовательности.

2.4. Идентификаторы

2.4.1. Синтаксис

(идентификатор):: = (буква)(идентификатор)(буква)] (идентификатор) (цифра)

2.4.2. Примеры

Soup Vila

аШТММз . ,. / .• •

MARILYN . .. :

2.4.3. Сем аи тика

Идентификаторы не имеют неизменно присущего им смысла, а служат для обозначения простых перемен-





0 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

0.0032