@artel/ru-artel-compiler 0.6.25222 → 0.6.25224
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/243/320/267/320/273/320/260./320/260/321/200/321/202 +2 -2
- 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/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
|
}
|