Quellcode durchsuchen

SVI Исправления

SVI vor 2 Jahren
Ursprung
Commit
f34a84b796
1 geänderte Dateien mit 23 neuen und 14 gelöschten Zeilen
  1. 23 14
      README.md

+ 23 - 14
README.md

@@ -15,7 +15,7 @@
   - [Оглавление](#оглавление)
   - [0. Введение](#0-введение)
   - [1. Синтаксис](#1-синтаксис)
-  - [2. Словарь](#2-словарь)
+  - [2. Синтез сущностей](#2-синтез-сущностей)
   - [3. Ключевые символы](#3-ключевые-символы)
   - [4. Объявления имён и область видимости](#4-объявления-имён-и-область-видимости)
   - [Ссылки](#ссылки)
@@ -37,7 +37,7 @@
 
 `Программа` включает как минимум один *модуль*. В `программе` как правило `модулей` как правило больше одного, количество модулей в программе не ограничено. Каждый модуль должен обладать правильной структурой:
 
-```go
+```bash
 МОДУЛЬ Старт;
 
 КОНЕЦ Старт.
@@ -54,21 +54,15 @@
 
 Синтаксические сущности (`символы`) обозначаются русскими словами (английскими эквивалентами), выражающими их функциональное назначение. `Символы` могут быть на любом языке, ограничений нет. `Символы` словаря языка программирования обозначаются литеральными строками, заключенными в кавычки или литерами.
 
-## 2. Словарь
+## 2. Синтез сущностей
 
 В группу `литеры` входят несколько классов:
 
 - `буква`;
 - `цифра`;
 
-
-`Разделитель` включает в себя:
-
-- `пробел`;
-- `перенос строки`.
-
 Для составления `символов` предусматривается использование следующих правил. `Пробелы` и `переносы строк` не должны встречаться внутри `символов` (исключая `комментарии`). Они игнорируются, если они не существенны для отделения двух последовательных `символов`. Заглавные и строчные буквы считаются различными.
-`Имена` — последовательности `букв` и `цифр`. Первая `литера` *должна* быть `буквой`.
+`Имена` — тип сущностей в виде последовательности `букв` и `цифр`. Первая `литера` *должна* быть `буквой`.
 
 > имя = буква {буква | цифра}.
 
@@ -103,7 +97,7 @@
 `Строковые литералы` — последовательность `литер`, заключенных в двойные кавычки  `"`. Ограничивающая кавычка не должна встречаться внутри  литерала, но допускается:
 
 - литерал из одной литеры может быть определён порядковым номером литеры в шестнадцатеричной нотации с последующей литерой "X";
-- внутри литерала может быть кавычка, непечатаемые символы экранированные даун-слэшем.
+- внутри литерала может быть кавычка с экраном, также непечатаемые символы должны быть экранированы даун-слэшем.
 
 Число литер в литерале называется длиной строкового литерала.
 
@@ -130,10 +124,24 @@
 
 Группа символов `комментарии` могут быть вставлены между любыми двумя `символами` в `программе`. Они являются произвольными последовательностями литер, которые открываются `/*`, `(*` и закрываются с помощью `*/`, `*)`. Однострочные `комментарии`` начинаются на `//` и действуют до конца строки. Комментарии *не влияют* на смысл программы. Они могут быть вложенными.
 
+`Разделитель` включает в себя:
+
+- `пробел`;
+- `перенос строки`.
+
 Для более полного понимания зависимостей ниже приводится структурная схема:
 
 ```mermaid
 flowchart TD
+    Программа
+    Модуль0
+    Модуль1
+    Сущность0
+    Сущность1
+    Пользовательские_символы
+    Ключевые_символы
+    Имя
+    Литеры
     Программа --> Модуль0
     Программа --> Модуль1
     Модуль1 --> Сущность0
@@ -144,9 +152,10 @@ flowchart TD
     Ключевые_символы --> Предписания
     Ключевые_символы --> Операторы
     Ключевые_символы --> Разделители
-    Пользовательские_символы --> Литеры
-    Встроенные_символы --> Литеры
-    Предписания --> Литеры
+    Пользовательские_символы --> Имя
+    Встроенные_символы --> Имя
+    Предписания --> Имя
+    Имя --> Литеры
     Операторы --> Литеры
     Разделители --> Литеры
     Литеры --> Буквы