|
@@ -2,9 +2,7 @@
|
|
|
|
|
|
|
|
Сообщение о языке **Оберон-У** (*Оберон-Умелый, Oberon-Deft*)
|
|
Сообщение о языке **Оберон-У** (*Оберон-Умелый, Oberon-Deft*)
|
|
|
|
|
|
|
|
-Язык является модификацией языка **Oberon-7**
|
|
|
|
|
-
|
|
|
|
|
-Ревизия: `v0.0.1 / 2023-07-27`
|
|
|
|
|
|
|
+Ревизия: `v0.0.2 / 2023-08-01`
|
|
|
|
|
|
|
|
> Все должно быть сделано максимально просто, но не примитивно.
|
|
> Все должно быть сделано максимально просто, но не примитивно.
|
|
|
> (А. Эйнштейн)
|
|
> (А. Эйнштейн)
|
|
@@ -48,9 +46,9 @@
|
|
|
|
|
|
|
|
## 0. Введение
|
|
## 0. Введение
|
|
|
|
|
|
|
|
-Идея создания языка **Оберон-У** (*Оберон-Умелый*, *Oberon-Deft*; далее просто **Оберон**) родилась после переосмысления идей несоответствия современного ИТ и средств разработки. [Никлаус Вирт](https://ru.wikipedia.org/wiki/Вирт,_Никлаус) продвинулся в этом отношении дальше всех. И львиная доля идей в концепции **Оберон** является либо прямой трансляцией этих идей, либо непосредственно развивают их.
|
|
|
|
|
|
|
+Идея создания языка **Оберон-У** (далее просто **Оберон**) родилась после переосмысления идей несоответствия современного ИТ и средств разработки. [Никлаус Вирт](https://ru.wikipedia.org/wiki/Вирт,_Никлаус) продвинулся в этом отношении дальше всех. И львиная доля идей в концепции **Оберон** является либо трансляцией этих идей, либо творческой компиляции их.
|
|
|
|
|
|
|
|
-**Оберон** — язык программирования общего назначения, который является развитием **Модулы-2** и модификацией **Оберон-7**.
|
|
|
|
|
|
|
+**Оберон-У** — язык программирования общего назначения, который является развитием **Модулы-2** и модификацией **Оберон-7**.
|
|
|
|
|
|
|
|
Данная вариация по большей части не имеет принципиально новых концепций, новые части отдельно описаны в соответствующих разделах. Концепция позволяет максимально изолировать высокоуровневые средства от низкоуровневых.
|
|
Данная вариация по большей части не имеет принципиально новых концепций, новые части отдельно описаны в соответствующих разделах. Концепция позволяет максимально изолировать высокоуровневые средства от низкоуровневых.
|
|
|
|
|
|
|
@@ -60,6 +58,8 @@
|
|
|
|
|
|
|
|
## 1. Синтаксис
|
|
## 1. Синтаксис
|
|
|
|
|
|
|
|
|
|
+Для описания синтаксиса используется диалект расширенной формы Бэкуса—Наура (`РБНФ`) -- НШ [краткая справка](./doc/notation.md). Литера вопроса `?` означают необязательность записанного внутри них выражения, а двоеточие `..` означают его повторение (возможно 0 раз).
|
|
|
|
|
+
|
|
|
Законченный текст на языке программирования **Оберон** называется *программа*.
|
|
Законченный текст на языке программирования **Оберон** называется *программа*.
|
|
|
|
|
|
|
|
`Программа` включает как минимум один *модуль*. В `программе` как правило `модулей` как правило больше одного, количество модулей в программе не ограничено. Каждый модуль должен обладать правильной структурой:
|
|
`Программа` включает как минимум один *модуль*. В `программе` как правило `модулей` как правило больше одного, количество модулей в программе не ограничено. Каждый модуль должен обладать правильной структурой:
|
|
@@ -85,8 +85,6 @@
|
|
|
|
|
|
|
|
Все эти `сущности` входят в группу `дерево символов` и состоят из `литер`. (Обратите внимание на разницу между `символами` и `литерами`). `Дерево символов` кроме самих `сущностей` содержит связи `сущностей` и все их необходимые `атрибуты`. `Листья` дерева не могут видеть другие `листья`, находящиеся ниже по веткам или в соседних ветках. Также есть ряд отдельных случаев описанных ниже.
|
|
Все эти `сущности` входят в группу `дерево символов` и состоят из `литер`. (Обратите внимание на разницу между `символами` и `литерами`). `Дерево символов` кроме самих `сущностей` содержит связи `сущностей` и все их необходимые `атрибуты`. `Листья` дерева не могут видеть другие `листья`, находящиеся ниже по веткам или в соседних ветках. Также есть ряд отдельных случаев описанных ниже.
|
|
|
|
|
|
|
|
-Для описания синтаксиса используются вариант расширенной формы Бэкуса — Наура (`РБНФ`). Литера вопроса `?` означают необязательность записанного внутри них выражения, а двоеточие `..` означают его повторение (возможно 0 раз).
|
|
|
|
|
-
|
|
|
|
|
Синтаксические сущности (`символы`) обозначаются русскими словами (английскими эквивалентами), выражающими их функциональное назначение. `Символы` могут быть на любом языке, ограничений нет. `Символы` словаря языка программирования обозначаются литеральными строками, заключенными в кавычки или литерами.
|
|
Синтаксические сущности (`символы`) обозначаются русскими словами (английскими эквивалентами), выражающими их функциональное назначение. `Символы` могут быть на любом языке, ограничений нет. `Символы` словаря языка программирования обозначаются литеральными строками, заключенными в кавычки или литерами.
|
|
|
|
|
|
|
|
## 2. Синтез сущностей
|
|
## 2. Синтез сущностей
|