@artel/ru-compiler 0.6.26001 → 0.6.26002

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.26001",
3
+ "version": "0.6.26002",
4
4
  "description": "*А* Артель.Компилятор (RU)",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "Apache-2.0",
@@ -8,10 +8,10 @@
8
8
 
9
9
  тип Лексема = простой объект
10
10
  {
11
- конст вид: ВидЛексемы
12
- конст текст: Текст
13
- конст позиция-начала: Целое
14
- конст незавершённая: ДаНет
11
+ вид: ВидЛексемы
12
+ текст: Текст
13
+ позиция-начала: Целое
14
+ незавершённая: ДаНет
15
15
 
16
16
  создание(вид`: ВидЛексемы, текст`: Текст, позиция-начала`: Целое, незавершённая`: ДаНет)
17
17
  {
@@ -24,19 +24,19 @@
24
24
 
25
25
  тип Делитель = объект
26
26
  {
27
- конст текст: Текст
27
+ текст: Текст
28
28
  чтение лексема: Лексема { вернуть лексема`` }
29
29
 
30
30
  скрытое
31
31
  {
32
32
  запись лексема { лексема`` = значение }
33
33
 
34
- пропускать-пробелы: ДаНет
35
- позиция-конца: Целое
36
- текущая-позиция: Целое
37
- баланс-фигурных-скобок: Целое
38
- стек-баланса-фигурных-скобок: Список<Целое>
39
- конст уникальные-тексты-лексем: Словарь<Текст, Текст>
34
+ перем пропускать-пробелы: ДаНет
35
+ перем позиция-конца: Целое
36
+ перем текущая-позиция: Целое
37
+ перем баланс-фигурных-скобок: Целое
38
+ перем стек-баланса-фигурных-скобок: Список<Целое>
39
+ уникальные-тексты-лексем: Словарь<Текст, Текст>
40
40
  }
41
41
 
42
42
  создание(текст`: Текст, настройки: НастройкиДелителя? = пусто)
@@ -44,7 +44,7 @@
44
44
  текст = текст`
45
45
  пропускать-пробелы = настройки?.пропускать-незначимое ?? нет
46
46
  текущая-позиция = настройки?.позиция-начала ?? 0
47
- конст длина = настройки?.длина
47
+ пусть длина = настройки?.длина
48
48
  позиция-конца = условно(длина != пусто, текущая-позиция + длина, текст.длина)
49
49
 
50
50
  баланс-фигурных-скобок = 0
@@ -56,10 +56,10 @@
56
56
 
57
57
  функция предпросмотр(анализатор: функция(): ДаНет): ДаНет
58
58
  {
59
- конст сохран-лексема = лексема
60
- конст сохран-текущая-позиция = текущая-позиция
61
- конст сохран-баланс-фигурных-скобок = баланс-фигурных-скобок
62
- пусть сохран-стек-баланса-фигурных-скобок: Список<Целое>? = пусто
59
+ пусть сохран-лексема = лексема
60
+ пусть сохран-текущая-позиция = текущая-позиция
61
+ пусть сохран-баланс-фигурных-скобок = баланс-фигурных-скобок
62
+ перем сохран-стек-баланса-фигурных-скобок: Список<Целое>? = пусто
63
63
  если стек-баланса-фигурных-скобок.количество > 0
64
64
  {
65
65
  сохран-стек-баланса-фигурных-скобок = Список<Целое>(стек-баланса-фигурных-скобок)
@@ -80,10 +80,10 @@
80
80
 
81
81
  функция пробный-анализ<Т>(анализатор: функция(): Т?): Т?
82
82
  {
83
- конст сохран-лексема = лексема
84
- конст сохран-текущая-позиция = текущая-позиция
85
- конст сохран-баланс-фигурных-скобок = баланс-фигурных-скобок
86
- пусть сохран-стек-баланса-фигурных-скобок: Список<Целое>? = пусто
83
+ пусть сохран-лексема = лексема
84
+ пусть сохран-текущая-позиция = текущая-позиция
85
+ пусть сохран-баланс-фигурных-скобок = баланс-фигурных-скобок
86
+ перем сохран-стек-баланса-фигурных-скобок: Список<Целое>? = пусто
87
87
  если стек-баланса-фигурных-скобок.количество > 0
88
88
  {
89
89
  сохран-стек-баланса-фигурных-скобок = Список<Целое>(стек-баланса-фигурных-скобок)
@@ -115,10 +115,10 @@
115
115
  текущая-позиция += 1
116
116
  }
117
117
  }
118
- конст позиция-начала = текущая-позиция
119
- пусть вид-лексемы: ВидЛексемы
120
- пусть текст-лексемы: Текст
121
- пусть незавершённая: ДаНет = нет
118
+ пусть позиция-начала = текущая-позиция
119
+ перем вид-лексемы: ВидЛексемы
120
+ перем текст-лексемы: Текст
121
+ перем незавершённая: ДаНет = нет
122
122
  если текущая-позиция >= позиция-конца
123
123
  {
124
124
  вид-лексемы = ВидЛексемы.конец-текста
@@ -126,7 +126,7 @@
126
126
  }
127
127
  иначе
128
128
  {
129
- конст символ: Символ = текст.символ-по-позиции(текущая-позиция)
129
+ пусть символ: Символ = текст.символ-по-позиции(текущая-позиция)
130
130
  выбор символ
131
131
  либо "\/"
132
132
  {
@@ -149,7 +149,7 @@
149
149
  }
150
150
  либо "\""
151
151
  {
152
- пусть р = прочитать-символ-или-текст-или-часть-шаблона-текста()
152
+ перем р = прочитать-символ-или-текст-или-часть-шаблона-текста()
153
153
  вид-лексемы = р.вид-лексемы
154
154
  незавершённая = р.незавершённая
155
155
  }
@@ -262,7 +262,7 @@
262
262
  {
263
263
  если это-цифра(текст.символ-по-позиции(текущая-позиция + 1))
264
264
  {
265
- пусть р = прочитать-число()
265
+ перем р = прочитать-число()
266
266
  вид-лексемы = р.вид-лексемы
267
267
  незавершённая = р.незавершённая
268
268
  }
@@ -299,7 +299,7 @@
299
299
  иначе если текст.символ-по-позиции(текущая-позиция + 1) == "*"
300
300
  {
301
301
  текущая-позиция += 2
302
- пусть р = прочитать-многострочный-комментарий()
302
+ перем р = прочитать-многострочный-комментарий()
303
303
  вид-лексемы = ВидЛексемы.комментарий-многострочный
304
304
  незавершённая = не р
305
305
  }
@@ -329,7 +329,7 @@
329
329
  }
330
330
  либо "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
331
331
  {
332
- пусть р = прочитать-число()
332
+ перем р = прочитать-число()
333
333
  вид-лексемы = р.вид-лексемы
334
334
  незавершённая = р.незавершённая
335
335
  }
@@ -423,7 +423,7 @@
423
423
  {
424
424
  если фигурная-скобка-оканчивает-шаблон-текста()
425
425
  {
426
- пусть р = прочитать-символ-или-текст-или-часть-шаблона-текста()
426
+ перем р = прочитать-символ-или-текст-или-часть-шаблона-текста()
427
427
  вид-лексемы = р.вид-лексемы
428
428
  незавершённая = р.незавершённая
429
429
  }
@@ -453,13 +453,13 @@
453
453
  }
454
454
  иначе если текст.символ-по-позиции(текущая-позиция + 1) == "\""
455
455
  {
456
- пусть р = прочитать-символ-или-текст-или-часть-шаблона-текста()
456
+ перем р = прочитать-символ-или-текст-или-часть-шаблона-текста()
457
457
  вид-лексемы = р.вид-лексемы
458
458
  незавершённая = р.незавершённая
459
459
  }
460
460
  иначе если текст.символ-по-позиции(текущая-позиция + 1) == "'"
461
461
  {
462
- пусть р = прочитать-имя-в-кавычках()
462
+ перем р = прочитать-имя-в-кавычках()
463
463
  вид-лексемы = ВидЛексемы.имя-в-кавычках
464
464
  незавершённая = не р
465
465
  }
@@ -499,7 +499,7 @@
499
499
  }
500
500
  либо "'"
501
501
  {
502
- пусть р = прочитать-имя-в-кавычках()
502
+ перем р = прочитать-имя-в-кавычках()
503
503
  вид-лексемы = ВидЛексемы.имя-в-кавычках
504
504
  незавершённая = не р
505
505
  }
@@ -518,7 +518,7 @@
518
518
  }
519
519
  }
520
520
  текст-лексемы = текст.скопировать(позиция-начала, текущая-позиция - позиция-начала)
521
- пусть существующий = уникальные-тексты-лексем.получить(текст-лексемы)
521
+ перем существующий = уникальные-тексты-лексем.получить(текст-лексемы)
522
522
  если существующий == пусто
523
523
  {
524
524
  уникальные-тексты-лексем.добавить(текст-лексемы, текст-лексемы)
@@ -540,20 +540,20 @@
540
540
  скрытая функция прочитать-символ-или-текст-или-часть-шаблона-текста():
541
541
  объект { вид-лексемы: ВидЛексемы; незавершённая: ДаНет }
542
542
  {
543
- пусть локализуемый = текст.символ-по-позиции(текущая-позиция) == "~"
543
+ перем локализуемый = текст.символ-по-позиции(текущая-позиция) == "~"
544
544
  если локализуемый
545
545
  {
546
546
  текущая-позиция += 1
547
547
  }
548
- конст кавычка = текст.символ-по-позиции(текущая-позиция)
548
+ пусть кавычка = текст.символ-по-позиции(текущая-позиция)
549
549
  текущая-позиция += 1
550
- конст начало = текущая-позиция
551
- пусть конец = текущая-позиция
552
- пусть вид-лексемы: ВидЛексемы
553
- пусть незавершённая: ДаНет = нет
550
+ пусть начало = текущая-позиция
551
+ перем конец = текущая-позиция
552
+ перем вид-лексемы: ВидЛексемы
553
+ перем незавершённая: ДаНет = нет
554
554
  пока да
555
555
  {
556
- конст текущий-символ = текст.символ-по-позиции(текущая-позиция)
556
+ пусть текущий-символ = текст.символ-по-позиции(текущая-позиция)
557
557
  если текущий-символ == "\""
558
558
  {
559
559
  конец = текущая-позиция
@@ -646,27 +646,27 @@
646
646
  скрытая функция состоит-из-одного-символа(начало: Целое, конец: Целое): ДаНет
647
647
  {
648
648
  результат = нет
649
- конст длина = конец - начало
649
+ пусть длина = конец - начало
650
650
  если длина == 1
651
651
  {
652
652
  результат = текст[начало + 0] != "\\"
653
653
  }
654
654
  иначе если длина == 2
655
655
  {
656
- конст с0 = текст[начало + 0]
657
- конст с1 = текст[начало + 1]
656
+ пусть с0 = текст[начало + 0]
657
+ пусть с1 = текст[начало + 1]
658
658
  результат = с0 == "\\" и с1 != "u" и с1 != "ю"
659
659
  }
660
660
  иначе если длина == 6
661
661
  {
662
- конст с0 = текст[начало + 0]
663
- конст с1 = текст[начало + 1]
662
+ пусть с0 = текст[начало + 0]
663
+ пусть с1 = текст[начало + 1]
664
664
  результат = с0 == "\\" и (с1 == "u" или с1 == "ю")
665
665
  если результат
666
666
  {
667
- конст является-16р-цифрой: функция(символ: Символ): ДаНет =
667
+ пусть является-16р-цифрой: функция(символ: Символ): ДаНет =
668
668
  условно(с1 == "u", это-16ричная-цифра-латиницы, это-16ричная-цифра-кириллицы)
669
- пусть н = начало + 2
669
+ перем н = начало + 2
670
670
  пока н < конец
671
671
  {
672
672
  если не является-16р-цифрой(текст[н])
@@ -682,7 +682,7 @@
682
682
 
683
683
  скрытая функция прочитать-пробелы-и-табуляции()
684
684
  {
685
- пусть символ: Символ
685
+ перем символ: Символ
686
686
  цикл
687
687
  {
688
688
  текущая-позиция += 1
@@ -694,10 +694,10 @@
694
694
  скрытая функция прочитать-число():
695
695
  объект { вид-лексемы: ВидЛексемы; незавершённая: ДаНет }
696
696
  {
697
- пусть вид-лексемы = ВидЛексемы.буквально-целое
698
- пусть незавершённая: ДаНет = нет
699
- конст первая-цифра-0 = текст.символ-по-позиции(текущая-позиция) == "0"
700
- конст следующий-символ = текст.символ-по-позиции(текущая-позиция + 1)
697
+ перем вид-лексемы = ВидЛексемы.буквально-целое
698
+ перем незавершённая: ДаНет = нет
699
+ пусть первая-цифра-0 = текст.символ-по-позиции(текущая-позиция) == "0"
700
+ пусть следующий-символ = текст.символ-по-позиции(текущая-позиция + 1)
701
701
  если первая-цифра-0 и следующий-символ == "x"
702
702
  {
703
703
  текущая-позиция += 2
@@ -829,7 +829,7 @@
829
829
  {
830
830
  пока текущая-позиция < позиция-конца
831
831
  {
832
- конст символ = текст.символ-по-позиции(текущая-позиция)
832
+ пусть символ = текст.символ-по-позиции(текущая-позиция)
833
833
  если символ == "*" и текст.символ-по-позиции(текущая-позиция + 1) == "/"
834
834
  {
835
835
  текущая-позиция += 2
@@ -842,7 +842,7 @@
842
842
 
843
843
  скрытая функция прочитать-имя()
844
844
  {
845
- пусть позиция-минуса = текущая-позиция
845
+ перем позиция-минуса = текущая-позиция
846
846
  пока текущая-позиция < позиция-конца и
847
847
  это-часть-имени(текст.символ-по-позиции(текущая-позиция))
848
848
  {
@@ -874,7 +874,7 @@
874
874
  текущая-позиция += 1
875
875
  пока текущая-позиция < позиция-конца
876
876
  {
877
- конст текущий-символ = текст.символ-по-позиции(текущая-позиция)
877
+ пусть текущий-символ = текст.символ-по-позиции(текущая-позиция)
878
878
  выбор текущий-символ
879
879
  либо "'"
880
880
  {
@@ -966,8 +966,8 @@
966
966
 
967
967
  всеобщая функция это-простое-имя(текст-без-кавычек: Текст): ДаНет
968
968
  {
969
- пусть индекс = 0
970
- конст длина = текст-без-кавычек.длина
969
+ перем индекс = 0
970
+ пусть длина = текст-без-кавычек.длина
971
971
  если индекс >= длина или это-начало-имени(текст-без-кавычек.символ-по-позиции(индекс))
972
972
  {
973
973
  вернуть нет
@@ -991,6 +991,6 @@
991
991
 
992
992
  тип ПозицияТекста = простой объект
993
993
  {
994
- конст строка: Целое
995
- конст столбец: Целое
994
+ строка: Целое
995
+ столбец: Целое
996
996
  }
@@ -3,10 +3,10 @@
3
3
 
4
4
  тип ОдноСлово = объект
5
5
  {
6
- конст слово: Текст
7
- вид-слова: ВидСлова
8
- флаги: ФлагиСлова
9
- последующие-слова: Словарь<Текст, ОдноСлово>?
6
+ слово: Текст
7
+ перем вид-слова: ВидСлова
8
+ перем флаги: ФлагиСлова
9
+ перем последующие-слова: Словарь<Текст, ОдноСлово>?
10
10
 
11
11
  создание(слово`: Текст)
12
12
  {
@@ -18,9 +18,9 @@
18
18
 
19
19
  тип СлужебноеСлово = объект
20
20
  {
21
- конст текст: Текст
22
- конст вид-слова: ВидСлова
23
- конст флаги: ФлагиСлова
21
+ текст: Текст
22
+ вид-слова: ВидСлова
23
+ флаги: ФлагиСлова
24
24
 
25
25
  создание(текст`: Текст, вид-слова`: ВидСлова, флаги`: ФлагиСлова)
26
26
  {
@@ -59,13 +59,13 @@
59
59
 
60
60
  тип ОписаниеСлужебногоСлова = простой объект
61
61
  {
62
- конст текст: Текст
63
- конст вид: ВидСлова
64
- конст флаги: ФлагиСлова
65
- конст диалекты: Массив<ДиалектПакета>
62
+ текст: Текст
63
+ вид: ВидСлова
64
+ флаги: ФлагиСлова
65
+ диалекты: Массив<ДиалектПакета>
66
66
  }
67
67
 
68
- конст русские-служебные-слова: Массив<ОписаниеСлужебногоСлова> =
68
+ русские-служебные-слова: Массив<ОписаниеСлужебногоСлова> =
69
69
  [
70
70
  автотип(текст = "автотип", вид = ВидСлова.'автотип', флаги = ФлагиСлова.сущ-единств-муж, диалекты = [ДиалектПакета.Артель-А, ДиалектПакета.Артель-М]),
71
71
  автотип(текст = "аспект", вид = ВидСлова.'аспект', флаги = ФлагиСлова.сущ-единств-муж, диалекты = [ДиалектПакета.Артель-А, ДиалектПакета.Артель-М]),
@@ -151,7 +151,7 @@
151
151
  автотип(текст = "скрытые", вид = ВидСлова.'скрытое', флаги = ФлагиСлова.прил-множ, диалекты = [ДиалектПакета.Артель-А, ДиалектПакета.Артель-М]),
152
152
  ]
153
153
 
154
- конст английские-служебные-слова: Массив<ОписаниеСлужебногоСлова> =
154
+ английские-служебные-слова: Массив<ОписаниеСлужебногоСлова> =
155
155
  [
156
156
  автотип(текст = "and", вид = ВидСлова.'и', флаги = ФлагиСлова.пустые, диалекты = [ДиалектПакета.Артель-А, ДиалектПакета.Артель-М]),
157
157
  автотип(текст = "as", вид = ВидСлова.'как', флаги = ФлагиСлова.пустые, диалекты = [ДиалектПакета.Артель-А, ДиалектПакета.Артель-М]),
@@ -224,7 +224,7 @@
224
224
  слова: Массив<ОписаниеСлужебногоСлова>
225
225
  }
226
226
 
227
- конст служебные-слова-языков: Массив<СлужебныеСловаЯзыка> =
227
+ служебные-слова-языков: Массив<СлужебныеСловаЯзыка> =
228
228
  [
229
229
  автотип(язык = ЯзыкПакета.английский, слова = английские-служебные-слова),
230
230
  автотип(язык = ЯзыкПакета.русский, слова = русские-служебные-слова),
@@ -237,7 +237,7 @@
237
237
  словарь: Позже<Словарь<Текст, ОдноСлово>>
238
238
  }
239
239
 
240
- конст словари-слов-языков-и-диалектов: Массив<СловарьСловЯзыкаПлюсДиалекта> =
240
+ словари-слов-языков-и-диалектов: Массив<СловарьСловЯзыкаПлюсДиалекта> =
241
241
  [
242
242
  автотип(
243
243
  язык = ЯзыкПакета.английский,
@@ -268,7 +268,7 @@
268
268
  функция создать-словарь-слов(языки: Массив<ЯзыкПакета>,
269
269
  диалекты: Массив<ДиалектПакета>): Словарь<Текст, ОдноСлово>
270
270
  {
271
- пусть словарь = Словарь<Текст, ОдноСлово>()
271
+ перем словарь = Словарь<Текст, ОдноСлово>()
272
272
  для язык из языки
273
273
  {
274
274
  для слова из служебные-слова-языков
@@ -293,11 +293,11 @@
293
293
 
294
294
  функция добавить-служебное-слово(словарь: Словарь<Текст, ОдноСлово>, вид-слова: ВидСлова, словосочетание: Текст)
295
295
  {
296
- конст отдельные-слова: Массив<Текст> = словосочетание.разделить(" ")
297
- пусть словарь-одного-слова: Словарь<Текст, ОдноСлово> = словарь
296
+ пусть отдельные-слова: Массив<Текст> = словосочетание.разделить(" ")
297
+ перем словарь-одного-слова: Словарь<Текст, ОдноСлово> = словарь
298
298
  для слово, индекс из отдельные-слова
299
299
  {
300
- пусть узел: ОдноСлово? = словарь-одного-слова.получить(слово)
300
+ перем узел: ОдноСлово? = словарь-одного-слова.получить(слово)
301
301
  если узел == пусто
302
302
  {
303
303
  узел = ОдноСлово(слово)
@@ -329,7 +329,7 @@
329
329
  словарь: Позже<СловарьВидовСлов>
330
330
  }
331
331
 
332
- конст словари-видов-слов-по-языку-и-диалекту: Массив<СловарьВидовСловЯзыкаПлюсДиалекта> =
332
+ словари-видов-слов-по-языку-и-диалекту: Массив<СловарьВидовСловЯзыкаПлюсДиалекта> =
333
333
  [
334
334
  автотип(
335
335
  язык = ЯзыкПакета.английский,
@@ -356,7 +356,7 @@
356
356
  функция создать-словарь-видов-слов(язык: ЯзыкПакета,
357
357
  диалекты: Массив<ДиалектПакета>): СловарьВидовСлов
358
358
  {
359
- пусть словарь = Словарь<ВидСлова, Список<СлужебноеСлово>>()
359
+ перем словарь = Словарь<ВидСлова, Список<СлужебноеСлово>>()
360
360
  для слова из служебные-слова-языков
361
361
  {
362
362
  если слова.язык == язык
@@ -367,7 +367,7 @@
367
367
  {
368
368
  если диалекты.содержит(д)
369
369
  {
370
- пусть список = словарь.получить(с.вид)
370
+ перем список = словарь.получить(с.вид)
371
371
  если список == пусто
372
372
  {
373
373
  список = Список<СлужебноеСлово>()
@@ -1,8 +1,8 @@
1
1
 
2
2
  функция без-кавычек(текст: Текст): Текст
3
3
  {
4
- пусть начало = 0
5
- пусть конец = текст.длина
4
+ перем начало = 0
5
+ перем конец = текст.длина
6
6
  если текст.начинается-на("~\"")
7
7
  {
8
8
  начало += 2
@@ -28,8 +28,8 @@
28
28
 
29
29
  функция без-кавычек-шаблона(текст: Текст): Текст
30
30
  {
31
- пусть начало = 0
32
- пусть конец = текст.длина
31
+ перем начало = 0
32
+ перем конец = текст.длина
33
33
  если текст.начинается-на("~\"")
34
34
  {
35
35
  начало += 2
@@ -56,9 +56,9 @@
56
56
  функция в-неэкранированный-текст(текст: Текст, нормализовать-переносы-строк: ДаНет): Текст
57
57
  {
58
58
  результат = ""
59
- пусть конец = текст.длина
60
- пусть позиция = пропустить-пустую-строку(текст, 0, конец)
61
- пусть отступ: Текст? = пусто
59
+ перем конец = текст.длина
60
+ перем позиция = пропустить-пустую-строку(текст, 0, конец)
61
+ перем отступ: Текст? = пусто
62
62
  если позиция > 0
63
63
  {
64
64
  отступ = получить-отступ-в-тексте(текст)
@@ -105,7 +105,7 @@
105
105
  позиция += 1
106
106
  если позиция < конец
107
107
  {
108
- конст символ = текст[позиция]
108
+ пусть символ = текст[позиция]
109
109
  выбор символ
110
110
  либо "0"
111
111
  {
@@ -115,10 +115,10 @@
115
115
  либо "u", "ю"
116
116
  {
117
117
  позиция += 1
118
- конст исходная = позиция
118
+ пусть исходная = позиция
119
119
  позиция = условно(позиция + 4 < конец, позиция + 4, конец)
120
- конст фрагмент = ФрагментТекста(начало = исходная, конец = позиция, текст)
121
- конст код-символа = условно(символ == "u",
120
+ пусть фрагмент = ФрагментТекста(начало = исходная, конец = позиция, текст)
121
+ пусть код-символа = условно(символ == "u",
122
122
  прочитать-16ричное-целое-латиницы(фрагмент),
123
123
  прочитать-16ричное-целое-кириллицы(фрагмент))
124
124
  результат += Символ(код-символа)
@@ -154,7 +154,7 @@
154
154
  либо " ", "\>"
155
155
  {
156
156
  позиция += 1
157
- конст исходная = позиция
157
+ пусть исходная = позиция
158
158
  позиция = пропустить-пустую-строку(текст, позиция, конец)
159
159
  если позиция > исходная
160
160
  {
@@ -175,7 +175,7 @@
175
175
  }
176
176
  либо *
177
177
  {
178
- конст начало = позиция
178
+ пусть начало = позиция
179
179
  позиция = пропустить-неэкранированные-символы(текст, позиция, конец)
180
180
  результат += текст.скопировать(начало, позиция - начало)
181
181
  }
@@ -185,7 +185,7 @@
185
185
  скрытая функция получить-отступ-в-тексте(текст: Текст): Текст?
186
186
  {
187
187
  результат = пусто
188
- пусть позиция = текст.длина - 1
188
+ перем позиция = текст.длина - 1
189
189
  пока позиция >= 0
190
190
  {
191
191
  выбор текст[позиция]
@@ -223,7 +223,7 @@
223
223
 
224
224
  скрытая функция пропустить-отступ(текст: Текст, начало: Целое, отступ: Текст): Целое
225
225
  {
226
- пусть позиция = 0
226
+ перем позиция = 0
227
227
  пока позиция < отступ.длина и начало + позиция < текст.длина и отступ[позиция] == текст[начало + позиция]
228
228
  {
229
229
  позиция += 1
@@ -236,7 +236,7 @@
236
236
  результат = начало
237
237
  пока результат < конец
238
238
  {
239
- конст символ = текст[результат]
239
+ пусть символ = текст[результат]
240
240
  если символ == "\\" или символ == "\/" или символ == "\<"
241
241
  {
242
242
  прервать цикл
@@ -248,7 +248,7 @@
248
248
  скрытая функция пропустить-пустую-строку(текст: Текст, начало: Целое, конец: Целое): Целое
249
249
  {
250
250
  результат = начало
251
- конст позиция = пропустить-пробелы-и-табуляции(текст, начало, конец)
251
+ пусть позиция = пропустить-пробелы-и-табуляции(текст, начало, конец)
252
252
  если текст.символ-по-позиции(позиция) == "\/"
253
253
  {
254
254
  результат = позиция + 1
@@ -264,7 +264,7 @@
264
264
  результат = начало
265
265
  пока результат < конец
266
266
  {
267
- конст символ = текст[результат]
267
+ пусть символ = текст[результат]
268
268
  если символ == " " или символ == "\>"
269
269
  {
270
270
  результат += 1
@@ -3,17 +3,17 @@
3
3
  {
4
4
  если текст.начинается-на("0x")
5
5
  {
6
- конст фрагмент = текст.фрагмент(2, текст.длина - 2)
6
+ пусть фрагмент = текст.фрагмент(2, текст.длина - 2)
7
7
  результат = прочитать-16ричное-целое-латиницы(фрагмент)
8
8
  }
9
9
  иначе если текст.начинается-на("0ш")
10
10
  {
11
- конст фрагмент = текст.фрагмент(2, текст.длина - 2)
11
+ пусть фрагмент = текст.фрагмент(2, текст.длина - 2)
12
12
  результат = прочитать-16ричное-целое-кириллицы(фрагмент)
13
13
  }
14
14
  иначе если текст.начинается-на("0b") или текст.начинается-на("0д")
15
15
  {
16
- конст фрагмент = текст.фрагмент(2, текст.длина - 2)
16
+ пусть фрагмент = текст.фрагмент(2, текст.длина - 2)
17
17
  результат = прочитать-2ичное-целое(фрагмент)
18
18
  }
19
19
  иначе
@@ -26,11 +26,11 @@
26
26
  функция прочитать-16ричное-целое-латиницы(текст: ФрагментТекста): Целое
27
27
  {
28
28
  результат = 0
29
- пусть позиция = текст.длина - 1
30
- пусть степень = 1
29
+ перем позиция = текст.длина - 1
30
+ перем степень = 1
31
31
  пока позиция >= 0
32
32
  {
33
- конст символ = текст[позиция]
33
+ пусть символ = текст[позиция]
34
34
  если символ >= "0" и символ <= "9"
35
35
  {
36
36
  результат += (символ.код() - "0".код()) * степень
@@ -52,11 +52,11 @@
52
52
  функция прочитать-16ричное-целое-кириллицы(текст: ФрагментТекста): Целое
53
53
  {
54
54
  результат = 0
55
- пусть позиция = текст.длина - 1
56
- пусть степень = 1
55
+ перем позиция = текст.длина - 1
56
+ перем степень = 1
57
57
  пока позиция >= 0
58
58
  {
59
- конст символ = текст[позиция]
59
+ пусть символ = текст[позиция]
60
60
  если символ >= "0" и символ <= "9"
61
61
  {
62
62
  результат += (символ.код() - "0".код()) * степень
@@ -78,11 +78,11 @@
78
78
  функция прочитать-10тичное-целое(текст: ФрагментТекста): Целое
79
79
  {
80
80
  результат = 0
81
- пусть позиция = текст.длина - 1
82
- пусть степень = 1
81
+ перем позиция = текст.длина - 1
82
+ перем степень = 1
83
83
  пока позиция >= 0
84
84
  {
85
- конст символ = текст[позиция]
85
+ пусть символ = текст[позиция]
86
86
  если символ >= "0" и символ <= "9"
87
87
  {
88
88
  результат += (символ.код() - "0".код()) * степень
@@ -96,11 +96,11 @@
96
96
  функция прочитать-2ичное-целое(текст: ФрагментТекста): Целое
97
97
  {
98
98
  результат = 0
99
- пусть позиция = текст.длина - 1
100
- пусть степень = 1
99
+ перем позиция = текст.длина - 1
100
+ перем степень = 1
101
101
  пока позиция >= 0
102
102
  {
103
- конст символ = текст[позиция]
103
+ пусть символ = текст[позиция]
104
104
  если символ == "1"
105
105
  {
106
106
  результат += степень
@@ -5,7 +5,7 @@
5
5
  русский = 1
6
6
  }
7
7
 
8
- конст языки: Массив<объект { язык: ЯзыкПакета; код: Текст; имена: Массив<Текст> }> =
8
+ языки: Массив<объект { язык: ЯзыкПакета; код: Текст; имена: Массив<Текст> }> =
9
9
  [
10
10
  автотип(язык = ЯзыкПакета.английский, код = "en", имена = ["english", "английский"]),
11
11
  автотип(язык = ЯзыкПакета.русский, код = "ru", имена = ["рус", "русский", "rus", "russian"]),