Язык программирования Оберон-2

         

WHILE Выраж DO ПослОператоров END



Приложение B: Синтаксис Оберона-2



Модуль = MODULE идент ";" [СписокИмпорта] ПослОбъявл [BEGIN ПослОператоров] END идент ".".
СписокИмпорта  = IMPORT [идент ":="] идент {"," [идент ":="] идент} ";".
ПослОбъявл  = { CONST {ОбъявлКонст ";" } | TYPE {ОбъявлТипа ";" } | VAR {ОбъявлПерем ";" }} {ОбъявлПроц ";" | ОпережающееОбъяв";"}.
ОбъявлКонст  = ИдентОпр "=" КонстВыраж.
ОбъявлТипа    = ИдентОпр "=" Тип.
ОбъявлПерем  = СписокИдент ":" Тип.
ОбъявлПроц    = PROCEDURE [Приемник] ИдентОпр [ФормальныеПарам]";" ПослОбъявл [BEGIN ПослОператоров] END идент.
ОпережающееОбъяв  = PROCEDURE "^" [Приемник] ИдентОпр [ФормальныеПарам].
ФормальныеПарам  = "(" [СекцияФП {";" СекцияФП}] ")" [":" УточнИдент].
СекцияФП  = [VAR] идент {"," идент} ":" Тип.
Приемник  = "(" [VAR] идент ":" идент ")".
Тип  = УточнИдент | ARRAY [КонстВыраж {"," КонстВыраж}] OF Тип | RECORD ["("УточнИдент")"] СписокПолей {";" СписокПолей} END | POINTER TO Тип | PROCEDURE [ФормальныеПарам].
СписокПолей  = [СписокИдент ":" Тип].
ПослОператоров  = Оператор {";" Оператор}.
Оператор  = [ Обозначение ":=" Выраж
| Обозначение ["(" [СписокВыраж] ")"]
| IF Выраж THEN ПослОператоров {ELSIF Выраж THEN ПослОператоров} [ELSE ПослОператоров] END
| CASE Выраж OF Вариант {"|" Вариант} [ELSE ПослОператоров] END
|  WHILE Выраж DO ПослОператоров END
| REPEAT ПослОператоров UNTIL Выраж
| FOR идент ":=" Выраж TO Выраж [BY КонстВыраж] DO ПослОператоров END
| LOOP ПослОператоров END
| WITH Охрана DO ПослОператоров {"|" Охрана DO ПослОператоров}
[ELSE ПослОператоров] END
| EXIT
| RETURN [Выраж] ].
Вариант  = [МеткиВарианта {"," МеткиВарианта} ":" ПослОператоров].
МеткиВарианта  = КонстВыраж [".." КонстВыраж].
Охрана  = УточнИдент ":" УточнИдент.
КонстВыраж  = Выраж.
Выраж  = ПростоеВыраж [Отношение ПростоеВыраж].
ПростоеВыраж  = ["+" | "-"] Слагаемое {ОперСлож Слагаемое}.
Слагаемое  = Множитель {ОперУмн Множитель}.
Множитель  = Обозначение ["(" [СписокВыраж] ")"] | число | символ | строка | NIL | Множество | "(" Выраж ")" | " ~ " Множитель.
Множество  = "{" [Элемент {"," Элемент}] "}".
Элемент  = Выраж [".." Выраж].
Отношение  = "=" | "#" | "<" | "<=" | ">" | ">=" | IN | IS.
ОперСлож  = "+" | "-" | OR.
ОперУмн  = "*" | "/" | DIV | MOD | "&".
Обозначение  = УточнИдент {"." идент | "[" СписокВыраж "]" | "^" | "(" УточнИдент ")"}.
СписокВыраж  = Выраж {"," Выраж}. СписокИдент = ИдентОпр {"," ИдентОпр}.
УточнИдент  = [идент "."] идент. ИдентОпр = идент [ "*" | "-" ].

Содержание раздела