@artel/ru-artel-compiler 0.6.25220 → 0.6.25221

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artel/ru-artel-compiler",
3
- "version": "0.6.25220",
3
+ "version": "0.6.25221",
4
4
  "description": "*А* Артель.Компилятор (RU)",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "LGPL-3.0-or-later",
@@ -45,7 +45,7 @@
45
45
  пропускать-пробелы = настройки?.пропускать-незначимое ?? нет
46
46
  текущая-позиция = настройки?.позиция-начала ?? 0
47
47
  конст длина = настройки?.длина
48
- позиция-конца = текущая-позиция + длина! когда длина != пусто : текст.длина
48
+ позиция-конца = текущая-позиция + длина когда длина != пусто : текст.длина
49
49
 
50
50
  баланс-фигурных-скобок = 0
51
51
  стек-баланса-фигурных-скобок = Список<Целое>()
@@ -252,17 +252,9 @@
252
252
  иначе если текст.символ-по-позиции(текущая-позиция + 1) == "*"
253
253
  {
254
254
  текущая-позиция += 2
255
- пока текущая-позиция < позиция-конца
256
- {
257
- конст символ = текст.символ-по-позиции(текущая-позиция)
258
- если символ == "*" и текст.символ-по-позиции(текущая-позиция + 1) == "/"
259
- {
260
- текущая-позиция += 2
261
- прервать цикл
262
- }
263
- текущая-позиция += 1
264
- }
255
+ пусть р = прочитать-многострочный-комментарий()
265
256
  вид-лексемы = ВидЛексемы.комментарий-многострочный
257
+ незавершённая = не р
266
258
  }
267
259
  иначе
268
260
  {
@@ -497,7 +489,7 @@
497
489
  }
498
490
  иначе
499
491
  {
500
- текст-лексемы = существующий!
492
+ текст-лексемы = существующий
501
493
  }
502
494
  }
503
495
  лексема = Лексема(вид-лексемы, текст-лексемы, позиция-начала, незавершённая)
@@ -525,7 +517,7 @@
525
517
  баланс-фигурных-скобок = сохран-баланс-фигурных-скобок
526
518
  если сохран-стек-баланса-фигурных-скобок != пусто
527
519
  {
528
- стек-баланса-фигурных-скобок = сохран-стек-баланса-фигурных-скобок!
520
+ стек-баланса-фигурных-скобок = сохран-стек-баланса-фигурных-скобок
529
521
  }
530
522
  иначе
531
523
  {
@@ -814,6 +806,21 @@
814
806
  }
815
807
  }
816
808
 
809
+ скрытая функция прочитать-многострочный-комментарий(): ДаНет
810
+ {
811
+ пока текущая-позиция < позиция-конца
812
+ {
813
+ конст символ = текст.символ-по-позиции(текущая-позиция)
814
+ если символ == "*" и текст.символ-по-позиции(текущая-позиция + 1) == "/"
815
+ {
816
+ текущая-позиция += 2
817
+ вернуть да
818
+ }
819
+ текущая-позиция += 1
820
+ }
821
+ вернуть нет
822
+ }
823
+
817
824
  скрытая функция прочитать-имя()
818
825
  {
819
826
  если текст.символ-по-позиции(текущая-позиция) == "~"
@@ -288,7 +288,7 @@
288
288
  если узел == пусто
289
289
  {
290
290
  узел = ОдноСлово(слово)
291
- словарь-одного-слова.установить(слово, узел!)
291
+ словарь-одного-слова.установить(слово, узел)
292
292
  }
293
293
  если индекс == отдельные-слова.количество - 1
294
294
  {
@@ -303,7 +303,7 @@
303
303
  }
304
304
  иначе
305
305
  {
306
- словарь-одного-слова = узел.последующие-слова!
306
+ словарь-одного-слова = узел.последующие-слова
307
307
  }
308
308
  }
309
309
  если индекс > 1
@@ -47,7 +47,7 @@
47
47
  если отступ != пусто
48
48
  {
49
49
  конец = исключить-разделитель-строк-в-конце(текст, конец - отступ.длина)
50
- позиция = пропустить-отступ(текст, позиция, отступ!)
50
+ позиция = пропустить-отступ(текст, позиция, отступ)
51
51
  }
52
52
  }
53
53
  пока позиция < конец
@@ -69,7 +69,7 @@
69
69
  }
70
70
  если отступ != пусто
71
71
  {
72
- позиция = пропустить-отступ(текст, позиция, отступ!)
72
+ позиция = пропустить-отступ(текст, позиция, отступ)
73
73
  }
74
74
  }
75
75
  }
@@ -79,7 +79,7 @@
79
79
  результат += "\/"
80
80
  если отступ != пусто
81
81
  {
82
- позиция = пропустить-отступ(текст, позиция, отступ!)
82
+ позиция = пропустить-отступ(текст, позиция, отступ)
83
83
  }
84
84
  }
85
85
  либо "\\"