@artel/ru-artel-compiler 0.6.25220 → 0.6.25222

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.25222",
4
4
  "description": "*А* Артель.Компилятор (RU)",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "LGPL-3.0-or-later",
@@ -10,6 +10,7 @@
10
10
  'в иерархии'
11
11
  'в файле'
12
12
  'в пакете'
13
+ 'важно'
13
14
  'вариант'
14
15
  'возврат'
15
16
  'выбор'
@@ -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
  если текст.символ-по-позиции(текущая-позиция) == "~"
@@ -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", вид = ВидСлова.'цикл', диалекты = [ДиалектПакета.привычный, ДиалектПакета.особый]),
@@ -288,7 +290,7 @@
288
290
  если узел == пусто
289
291
  {
290
292
  узел = ОдноСлово(слово)
291
- словарь-одного-слова.установить(слово, узел!)
293
+ словарь-одного-слова.установить(слово, узел)
292
294
  }
293
295
  если индекс == отдельные-слова.количество - 1
294
296
  {
@@ -303,7 +305,7 @@
303
305
  }
304
306
  иначе
305
307
  {
306
- словарь-одного-слова = узел.последующие-слова!
308
+ словарь-одного-слова = узел.последующие-слова
307
309
  }
308
310
  }
309
311
  если индекс > 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
  либо "\\"