@artel/ru-artel-compiler 0.6.25221 → 0.6.25223
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/222/320/270/320/264/320/241/320/273/320/276/320/262/320/260./320/260/321/200/321/202 +1 -0
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/224/320/265/320/273/320/270/321/202/320/265/320/273/321/214./320/260/321/200/321/202 +48 -36
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/241/320/273/320/276/320/262/320/260/321/200/321/214/320/241/320/273/320/276/320/262./320/260/321/200/321/202 +2 -0
package/package.json
CHANGED
@@ -56,12 +56,53 @@
|
|
56
56
|
|
57
57
|
функция предпросмотр(анализатор: функция(): ДаНет): ДаНет
|
58
58
|
{
|
59
|
-
|
59
|
+
конст сохран-лексема = лексема
|
60
|
+
конст сохран-текущая-позиция = текущая-позиция
|
61
|
+
конст сохран-баланс-фигурных-скобок = баланс-фигурных-скобок
|
62
|
+
пусть сохран-стек-баланса-фигурных-скобок: Список<Целое>? = пусто
|
63
|
+
если стек-баланса-фигурных-скобок.количество > 0
|
64
|
+
{
|
65
|
+
сохран-стек-баланса-фигурных-скобок = Список<Целое>(стек-баланса-фигурных-скобок)
|
66
|
+
}
|
67
|
+
результат = анализатор()
|
68
|
+
лексема = сохран-лексема
|
69
|
+
текущая-позиция = сохран-текущая-позиция
|
70
|
+
баланс-фигурных-скобок = сохран-баланс-фигурных-скобок
|
71
|
+
если сохран-стек-баланса-фигурных-скобок != пусто
|
72
|
+
{
|
73
|
+
стек-баланса-фигурных-скобок = сохран-стек-баланса-фигурных-скобок
|
74
|
+
}
|
75
|
+
иначе
|
76
|
+
{
|
77
|
+
стек-баланса-фигурных-скобок.очистить()
|
78
|
+
}
|
60
79
|
}
|
61
80
|
|
62
|
-
функция
|
81
|
+
функция пробный-анализ<Т>(анализатор: функция(): Т?): Т?
|
63
82
|
{
|
64
|
-
|
83
|
+
конст сохран-лексема = лексема
|
84
|
+
конст сохран-текущая-позиция = текущая-позиция
|
85
|
+
конст сохран-баланс-фигурных-скобок = баланс-фигурных-скобок
|
86
|
+
пусть сохран-стек-баланса-фигурных-скобок: Список<Целое>? = пусто
|
87
|
+
если стек-баланса-фигурных-скобок.количество > 0
|
88
|
+
{
|
89
|
+
сохран-стек-баланса-фигурных-скобок = Список<Целое>(стек-баланса-фигурных-скобок)
|
90
|
+
}
|
91
|
+
результат = анализатор()
|
92
|
+
если результат == пусто
|
93
|
+
{
|
94
|
+
лексема = сохран-лексема
|
95
|
+
текущая-позиция = сохран-текущая-позиция
|
96
|
+
баланс-фигурных-скобок = сохран-баланс-фигурных-скобок
|
97
|
+
если сохран-стек-баланса-фигурных-скобок != пусто
|
98
|
+
{
|
99
|
+
стек-баланса-фигурных-скобок = сохран-стек-баланса-фигурных-скобок
|
100
|
+
}
|
101
|
+
иначе
|
102
|
+
{
|
103
|
+
стек-баланса-фигурных-скобок.очистить()
|
104
|
+
}
|
105
|
+
}
|
65
106
|
}
|
66
107
|
|
67
108
|
функция следующая-лексема(): Лексема
|
@@ -496,37 +537,8 @@
|
|
496
537
|
результат = лексема
|
497
538
|
}
|
498
539
|
|
499
|
-
скрытая функция
|
500
|
-
безусловно-восстановить-состояние: ДаНет): ДаНет
|
540
|
+
скрытая функция фигурная-скобка-оканчивает-шаблон-текста(): ДаНет
|
501
541
|
{
|
502
|
-
конст сохран-лексема = лексема
|
503
|
-
конст сохран-текущая-позиция = текущая-позиция
|
504
|
-
конст сохран-баланс-фигурных-скобок = баланс-фигурных-скобок
|
505
|
-
пусть сохран-стек-баланса-фигурных-скобок: Список<Целое>? = пусто
|
506
|
-
если стек-баланса-фигурных-скобок.количество > 0
|
507
|
-
{
|
508
|
-
сохран-стек-баланса-фигурных-скобок = Список<Целое>(стек-баланса-фигурных-скобок)
|
509
|
-
}
|
510
|
-
|
511
|
-
результат = анализатор()
|
512
|
-
|
513
|
-
если безусловно-восстановить-состояние или результат == нет
|
514
|
-
{
|
515
|
-
лексема = сохран-лексема
|
516
|
-
текущая-позиция = сохран-текущая-позиция
|
517
|
-
баланс-фигурных-скобок = сохран-баланс-фигурных-скобок
|
518
|
-
если сохран-стек-баланса-фигурных-скобок != пусто
|
519
|
-
{
|
520
|
-
стек-баланса-фигурных-скобок = сохран-стек-баланса-фигурных-скобок
|
521
|
-
}
|
522
|
-
иначе
|
523
|
-
{
|
524
|
-
стек-баланса-фигурных-скобок.очистить()
|
525
|
-
}
|
526
|
-
}
|
527
|
-
}
|
528
|
-
|
529
|
-
скрытая функция фигурная-скобка-оканчивает-шаблон-текста(): ДаНет {
|
530
542
|
результат = стек-баланса-фигурных-скобок.количество > 0 и баланс-фигурных-скобок == 1
|
531
543
|
}
|
532
544
|
|
@@ -963,20 +975,20 @@
|
|
963
975
|
{
|
964
976
|
пусть индекс = 0
|
965
977
|
конст длина = текст-без-кавычек.длина
|
966
|
-
если индекс >= длина или это-начало-имени(
|
978
|
+
если индекс >= длина или это-начало-имени(текст-без-кавычек.символ-по-позиции(индекс))
|
967
979
|
{
|
968
980
|
вернуть нет
|
969
981
|
}
|
970
982
|
индекс += 1
|
971
983
|
пока индекс < длина
|
972
984
|
{
|
973
|
-
если не (это-часть-имени(
|
985
|
+
если не (это-часть-имени(текст-без-кавычек.символ-по-позиции(индекс)))
|
974
986
|
{
|
975
987
|
вернуть нет
|
976
988
|
}
|
977
989
|
индекс += 1
|
978
990
|
}
|
979
|
-
если индекс == длина и
|
991
|
+
если индекс == длина и текст-без-кавычек.символ-по-позиции(индекс) == "-"
|
980
992
|
{
|
981
993
|
вернуть нет
|
982
994
|
}
|
@@ -51,6 +51,7 @@
|
|
51
51
|
[
|
52
52
|
автотип(текст = "автотип", вид = ВидСлова.'автотип', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
53
53
|
автотип(текст = "аспект", вид = ВидСлова.'аспект', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
54
|
+
автотип(текст = "важно", вид = ВидСлова.'важно', диалекты = [ДиалектПакета.привычный]),
|
54
55
|
автотип(текст = "вариант", вид = ВидСлова.'вариант', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
55
56
|
автотип(текст = "вернуть", вид = ВидСлова.'возврат', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
56
57
|
автотип(текст = "возврат", вид = ВидСлова.'возврат', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
@@ -155,6 +156,7 @@
|
|
155
156
|
автотип(текст = "get", вид = ВидСлова.'чтение', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
156
157
|
автотип(текст = "if", вид = ВидСлова.'если', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
157
158
|
автотип(текст = "import", вид = ВидСлова.'подключить', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
159
|
+
автотип(текст = "important", вид = ВидСлова.'важно', диалекты = [ДиалектПакета.привычный]),
|
158
160
|
автотип(текст = "is", вид = ВидСлова.'это', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
159
161
|
автотип(текст = "let", вид = ВидСлова.'пусть', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|
160
162
|
автотип(текст = "loop", вид = ВидСлова.'цикл', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
|