@artel/ru-compiler 0.6.25264 → 0.6.25266

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-compiler",
3
- "version": "0.6.25264",
3
+ "version": "0.6.25266",
4
4
  "description": "*А* Артель.Компилятор (RU)",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "LGPL-3.0-or-later",
@@ -17,6 +17,7 @@
17
17
  буквально-окончание-шаблона-текста
18
18
  буквально-текст-локализуемый
19
19
  буквально-начало-шаблона-текста-локализуемого
20
+ буквально-окончание-шаблона-текста-локализуемого
20
21
  знак-амперсанд
21
22
  знак-двойной-амперсанд
22
23
  знак-амперсанд-равно
@@ -447,8 +447,7 @@
447
447
  }
448
448
  иначе если текст.символ-по-позиции(текущая-позиция + 1) == "\""
449
449
  {
450
- текущая-позиция += 1
451
- пусть р = прочитать-символ-или-текст-или-часть-шаблона-текста(локализуемый = да)
450
+ пусть р = прочитать-символ-или-текст-или-часть-шаблона-текста()
452
451
  вид-лексемы = р.вид-лексемы
453
452
  незавершённая = р.незавершённая
454
453
  }
@@ -537,9 +536,14 @@
537
536
  результат = стек-баланса-фигурных-скобок.количество > 0 и баланс-фигурных-скобок == 1
538
537
  }
539
538
 
540
- скрытая функция прочитать-символ-или-текст-или-часть-шаблона-текста(локализуемый: ДаНет = нет):
539
+ скрытая функция прочитать-символ-или-текст-или-часть-шаблона-текста():
541
540
  объект { вид-лексемы: ВидЛексемы; незавершённая: ДаНет }
542
541
  {
542
+ пусть локализуемый = текст.символ-по-позиции(текущая-позиция) == "~"
543
+ если локализуемый
544
+ {
545
+ текущая-позиция += 1
546
+ }
543
547
  конст кавычка = текст.символ-по-позиции(текущая-позиция)
544
548
  текущая-позиция += 1
545
549
  конст начало = текущая-позиция
@@ -553,6 +557,11 @@
553
557
  {
554
558
  конец = текущая-позиция
555
559
  текущая-позиция += 1
560
+ если текст.символ-по-позиции(текущая-позиция) == "~"
561
+ {
562
+ локализуемый = да
563
+ текущая-позиция += 1
564
+ }
556
565
  если кавычка == "\""
557
566
  {
558
567
  вид-лексемы = условно(локализуемый,
@@ -561,7 +570,9 @@
561
570
  }
562
571
  иначе
563
572
  {
564
- вид-лексемы = ВидЛексемы.буквально-окончание-шаблона-текста
573
+ вид-лексемы = условно(локализуемый,
574
+ ВидЛексемы.буквально-окончание-шаблона-текста,
575
+ ВидЛексемы.буквально-окончание-шаблона-текста-локализуемого)
565
576
  }
566
577
  прервать цикл
567
578
  }
@@ -617,7 +628,7 @@
617
628
  {
618
629
  баланс-фигурных-скобок = 1
619
630
  }
620
- либо ВидЛексемы.буквально-окончание-шаблона-текста
631
+ либо ВидЛексемы.буквально-окончание-шаблона-текста, ВидЛексемы.буквально-окончание-шаблона-текста-локализуемого
621
632
  {
622
633
  баланс-фигурных-скобок = стек-баланса-фигурных-скобок.извлечь-последний()
623
634
  }
@@ -15,6 +15,14 @@
15
15
  {
16
16
  конец -= 1
17
17
  }
18
+ иначе если текст.оканчивается-на("\"~")
19
+ {
20
+ конец -= 1
21
+ }
22
+ если начало > конец
23
+ {
24
+ результат = ""
25
+ }
18
26
  результат = текст.вырезать(начало, конец)
19
27
  }
20
28
 
@@ -34,6 +42,14 @@
34
42
  {
35
43
  конец -= 1
36
44
  }
45
+ иначе если текст.оканчивается-на("\"~")
46
+ {
47
+ конец -= 1
48
+ }
49
+ если начало > конец
50
+ {
51
+ результат = ""
52
+ }
37
53
  результат = текст.вырезать(начало, конец)
38
54
  }
39
55