Инструменты пользователя

Инструменты сайта


ob:oberon2

Это старая версия документа!


Оберон-2 является расширением языка программирования Оберон в котором добавлены открытые массивы, базовые типы указателей, поля доступные при экспорте только для чтения, восстановлен упраздненный ранее оператор FOR. элементы метапрограммирования (ограниченная рефлексия) и удобства для объектно-ориентированного программирования,

Модуль = 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 | «&». Обозначение = УточнИдент {«.» идент | «[» СписокВыраж «]» | «^» | «(» УточнИдент «)»}. СписокВыраж = Выраж {«,» Выраж}. СписокИдент = ИдентОпр {«,» ИдентОпр}. УточнИдент = [идент «.»] идент. ИдентОпр = идент [ «*» | «-» ].

ob/oberon2.1459407488.txt.gz · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)