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

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


ob:oberon2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

ob:oberon2 [2016/03/31 09:58]
иван_денисов создано
ob:oberon2 [2020/10/29 07:08]
Строка 1: Строка 1:
-Оберон-2 является расширением языка программирования [[ob:oberon|Оберон]] в котором добавлены открытые массивы, базовые типы указателей, поля доступные при экспорте только для чтения, восстановлен упраздненный ранее оператор 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.txt · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)