Skip to content

Commit c7a185c

Browse files
author
Gogs
committed
Отладил работает.
1 parent ce32b76 commit c7a185c

File tree

6 files changed

+45
-15
lines changed

6 files changed

+45
-15
lines changed

src/Классы/ВыборСовпадений.os

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
1+
#Использовать logos
22
перем Лог;
33

44

5-
Процедура УпроститьСоединения(Знач НачальноеСостояние, Состояние, ПосетилиСостояние);
5+
Процедура УпроститьСоединения(Знач НачальноеСостояние, Состояние, ПосетилиСостояние) Экспорт
66

77
Если ПосетилиСостояние[Состояние] = Истина Тогда
88
Возврат;
@@ -69,7 +69,7 @@
6969

7070
КонецФункции
7171

72-
Процедура СортировкаСоединений(Состояние, ПосетилиСостояние)
72+
Процедура СортировкаСоединений(Состояние, ПосетилиСостояние) Экспорт
7373

7474
Если ПосетилиСостояние[Состояние] = Истина Тогда
7575
Возврат;

src/Классы/КомандаПриложения.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
МассивАргументовКПарсингу.Добавить(АргументыCLI[ИИ-1]);
8383
КонецЦикла;
8484

85-
НачальноеСостояние.ПрочитатьАргументы(МассивАргументовКПарсингу);
85+
НачальноеСостояние.Прочитать(МассивАргументовКПарсингу);
8686

8787
Если nargsLen = АргументыCLI.Количество() Тогда
8888
Возврат;

src/Классы/ОпцияПарсера.os

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
ОпцииКонтекст = Новый Массив;
116116
КонецЕсли;
117117
ОпцииКонтекст.Добавить(Значение);
118-
КонтекстПоиска.Опция.Вставить(Опция,ОпцииКонтекст);
118+
КонтекстПоиска.Опции.Вставить(Опция, ОпцииКонтекст);
119119

120120
Аргументы.Удалить(Индекс);
121121
Результат.ПрибавочныйИндекс = 1;
@@ -156,7 +156,7 @@
156156
ОпцииКонтекст = Новый Массив;
157157
КонецЕсли;
158158
ОпцииКонтекст.Добавить(Истина);
159-
КонтекстПоиска.Опция.Вставить(Опция,ОпцииКонтекст);
159+
КонтекстПоиска.Опции.Вставить(Опция,ОпцииКонтекст);
160160

161161
Результат.Найден = Истина;
162162
Если СтрДлина(ИмяОпции) = СтрДлина(ИщемОпцию) Тогда

src/Классы/Совпадение.os

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11

2+
#Использовать logos
3+
перем Лог;
4+
25
Перем Завершено Экспорт;
36
Перем МассивСоединений Экспорт;
47

@@ -28,7 +31,7 @@
2831
ПосетилиСостояниеУпрощения = Новый Соответствие;
2932
fsm = новый ВыборСовпадений();
3033
fsm.СортировкаСоединений(ЭтотОбъект, ПосетилиСостояниеСортировки);
31-
fsm.УпроститьСоединения(ЭтотОбъект, ЭтотОбъект, ПосетилиСостояниеУпрощения);
34+
//fsm.УпроститьСоединения(ЭтотОбъект, ЭтотОбъект, ПосетилиСостояниеУпрощения); // тут косяк
3235

3336
КонецПроцедуры
3437

@@ -43,7 +46,7 @@
4346

4447
КонецПроцедуры
4548

46-
Функция ПрименитьКонтекст(Знач ВходящиеАргументы, Контекст)
49+
Функция ПрименитьКонтекст(Знач ВходящиеАргументы, Контекст) Экспорт
4750

4851
Лог.Отладка("Применяю контекст:
4952
| количество соединений %1
@@ -81,6 +84,8 @@
8184
Для каждого ЭлементСовпадения Из МассивСовпадений Цикл
8285

8386
Если ЭлементСовпадения.Соединение.СледующееСостояние.ПрименитьКонтекст(ЭлементСовпадения.Результат, ЭлементСовпадения.Контекст) Тогда
87+
88+
Лог.Отладка("Соединяю контексты");
8489
Контекст.ПрисоединитьКонтекст(ЭлементСовпадения.Контекст);
8590
Возврат Истина;
8691
КонецЕсли;
@@ -93,4 +98,7 @@
9398

9499
Функция НовоеСовпадение(Соединение, Результат, Контекст)
95100
Возврат Новый Структура("Соединение, Результат, Контекст", Соединение, Результат, Контекст)
96-
КонецФункции
101+
КонецФункции
102+
103+
Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner");
104+
Лог.УстановитьУровень(УровниЛога.Отладка);

src/Классы/СпекПарсер.os

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,14 @@
5555

5656
НачальноеСостояние = Результат.НачальноеСостояние;
5757
КонечноеСостояние = Результат.КонечноеСостояние;
58+
59+
Лог.Отладка("Прочитать() Пред .Подготовить() >> НачальноеСостояние.МассивСоединений: %1", НачальноеСостояние.МассивСоединений.Количество());
60+
Лог.Отладка("Прочитать() Пред .Подготовить() >> КонечноеСостояние.МассивСоединений: %1", КонечноеСостояние.МассивСоединений.Количество());
5861

5962
НачальноеСостояние.Подготовить();
6063
КонечноеСостояние.Завершено = Истина;
64+
Лог.Отладка("Выход Прочитать() >> НачальноеСостояние.МассивСоединений: %1", НачальноеСостояние.МассивСоединений.Количество());
65+
Лог.Отладка("Выход Прочитать() >> КонечноеСостояние.МассивСоединений: %1", КонечноеСостояние.МассивСоединений.Количество());
6166

6267
Возврат НачальноеСостояние;
6368

@@ -77,16 +82,22 @@
7782
Результат = ТокенВыбора();
7883

7984
appendComp(КонечноеСостояние, Результат.НачальноеСостояние, Результат.КонечноеСостояние);
80-
85+
Лог.Отладка("ТокенВыбора Выход Требуется >> НачальноеСостояние.МассивСоединений: %1", НачальноеСостояние.МассивСоединений.Количество());
86+
Лог.Отладка("ТокенВыбора Выход Требуется >> КонечноеСостояние.МассивСоединений: %1", КонечноеСостояние.МассивСоединений.Количество());
87+
8188
КонецЕсли;
8289

8390
Пока МогуПрочитать() Цикл
8491

8592
РезультатВЦикле = ТокенВыбора();
8693

8794
appendComp(КонечноеСостояние, РезультатВЦикле.НачальноеСостояние, РезультатВЦикле.КонечноеСостояние);
95+
Лог.Отладка("ТокенВыбора Выход цикл >> НачальноеСостояние.МассивСоединений: %1", НачальноеСостояние.МассивСоединений.Количество());
96+
Лог.Отладка("ТокенВыбора Выход цикл >> КонечноеСостояние.МассивСоединений: %1", КонечноеСостояние.МассивСоединений.Количество());
8897

8998
КонецЦикла;
99+
Лог.Отладка("Выход из рекурсии >> НачальноеСостояние.МассивСоединений: %1", НачальноеСостояние.МассивСоединений.Количество());
100+
Лог.Отладка("Выход из рекурсии >> КонечноеСостояние.МассивСоединений: %1", КонечноеСостояние.МассивСоединений.Количество());
90101

91102
возврат Новый Структура("НачальноеСостояние, КонечноеСостояние", НачальноеСостояние, КонечноеСостояние);
92103

@@ -138,13 +149,15 @@
138149
ИначеЕсли НашлиТокен(ТипыТокенов.TTShortOpt)
139150
ИЛИ НашлиТокен(ТипыТокенов.TTLongOpt) Тогда
140151

152+
Лог.Отладка("Обрабатываю токен: %1", НайденныйТокен.Тип);
141153
Если СкинутьОпции Тогда
142154
Назад();
143155
Сообщить("нет опций после ---");
144156
ВызватьИсключение "нет опций после ---";
145157
КонецЕсли;
146158

147159
Имя = НайденныйТокен.Значение;
160+
Лог.Отладка(" >> Имя токен: %1", НайденныйТокен.Значение);
148161

149162
КлассОпции = ОпцииИндекс[Имя];
150163

@@ -154,9 +167,11 @@
154167
ВызватьИсключение "Ошибка";
155168
КонецЕсли;
156169

170+
157171
КонечноеСостояние = НачальноеСостояние.Т(Новый ОпцияПарсера(КлассОпции, ОпцииИндекс), fsm.НовоеСостояние());
172+
Лог.Отладка(" >> НачальноеСостояние.МассивСоединений: %1", НачальноеСостояние.МассивСоединений.Количество());
158173

159-
НашлиТокен(ТипыТокенов.TTOptValue); // Хз
174+
НашлиТокен(ТипыТокенов.TTOptValue); // Пропуск значение после "="
160175

161176
ИначеЕсли НашлиТокен(ТипыТокенов.TTOptSeq) Тогда
162177

@@ -235,8 +250,14 @@
235250

236251
Результат = ЧтениеДалее();
237252

253+
Лог.Отладка("ТокенВыбора >> НачальноеСостояние.МассивСоединений: %1", Результат.НачальноеСостояние.МассивСоединений.Количество());
254+
Лог.Отладка("ТокенВыбора >> КонечноеСостояние.МассивСоединений: %1", Результат.КонечноеСостояние.МассивСоединений.Количество());
255+
238256
ВыборТокена_Адд(НачальноеСостояние, КонечноеСостояние, Результат.НачальноеСостояние, Результат.КонечноеСостояние);
239257

258+
Лог.Отладка("ТокенВыбора АДД >> НачальноеСостояние.МассивСоединений: %1", НачальноеСостояние.МассивСоединений.Количество());
259+
Лог.Отладка("ТокенВыбора АДД>> КонечноеСостояние.МассивСоединений: %1", КонечноеСостояние.МассивСоединений.Количество());
260+
240261
Пока НашлиТокен(ТипыТокенов.TTChoice) Цикл
241262
РезультатВЦикле = ЧтениеДалее();
242263
ВыборТокена_Адд(НачальноеСостояние, КонечноеСостояние, РезультатВЦикле.НачальноеСостояние, РезультатВЦикле.КонечноеСостояние);
@@ -263,7 +284,7 @@
263284

264285
Функция КонецТокенов()
265286

266-
Лог.Отладка("Вызов <КонецТокенов> %1 >= %2", ТекущаяПозиция, Токены.Количество());
287+
//Лог.Отладка("Вызов <КонецТокенов> %1 >= %2", ТекущаяПозиция, Токены.Количество());
267288

268289
Возврат ТекущаяПозиция >= Токены.Количество();
269290

@@ -293,7 +314,7 @@
293314

294315

295316
Лог.Отладка("Проверяю текущий токен:
296-
| Сверка типов: %1 = %2", Токен().Тип, ТипТокена);
317+
| >> Сверка типов: %1 = %2", Токен().Тип, ТипТокена);
297318
Возврат Токен().Тип = ТипТокена;
298319

299320
КонецФункции
@@ -326,6 +347,7 @@
326347

327348
Если ЭтоТокен(ТипТокена) Тогда
328349

350+
Лог.Отладка("Нашли токен: %1", ТипТокена);
329351
НайденныйТокен = Токен();
330352

331353
ТекущаяПозиция = ТекущаяПозиция +1;
@@ -340,4 +362,4 @@
340362

341363

342364
Лог = Логирование.ПолучитьЛог("oscript.lib.spec_parse");
343-
//Лог.УстановитьУровень(УровниЛога.Отладка);
365+
Лог.УстановитьУровень(УровниЛога.Отладка);

tests.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<testsuites tests="2" name="xUnitFor1C" time="0.085905" failures="0" skipped="0">
2+
<testsuites tests="2" name="xUnitFor1C" time="0.0984695" failures="0" skipped="0">
33
<testsuite name="">
44
<properties />
55
<testcase classname="cli-lexer_test" name="ТестДолжен_ПроверитьСпекЛексер" status="passed" />

0 commit comments

Comments
 (0)