-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathtest5.os
37 lines (27 loc) · 2.33 KB
/
test5.os
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// пример работы с окружениями
ПодключитьСценарий("..\..\src\ПарсерВстроенногоЯзыка\Ext\ObjectModule.bsl", "ПарсерВстроенногоЯзыка");
ПодключитьСценарий("..\..\scope\global\src\ГлобальноеОкружение\Ext\ObjectModule.bsl", "ГлобальноеОкружение");
ПодключитьСценарий("..\plugins\ДетекторНеиспользуемыхПеременных\src\ДетекторНеиспользуемыхПеременных\Ext\ObjectModule.bsl", "ДетекторНеиспользуемыхПеременных");
ЧтениеТекста = Новый ЧтениеТекста("..\..\src\ПарсерВстроенногоЯзыка\Ext\ObjectModule.bsl");
Исходник = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();
Плагины = Новый Массив;
Плагины.Добавить(Новый ДетекторНеиспользуемыхПеременных);
ПараметрыПлагинов = Новый Соответствие;
Парсер = Новый ПарсерВстроенногоЯзыка;
ГлобальноеОкружение = Новый ГлобальноеОкружение;
Узлы = Парсер.Узлы();
ПроизвольноеОкружение = Парсер.Окружение(ГлобальноеОкружение.Создать(Парсер));
// например, контекст формы:
Элемент = Узлы.ЭлементОкружения.Добавить();
Элемент.Имя = "ЭтаФорма";
ПроизвольноеОкружение.Переменные.Вставить("ЭтаФорма", Элемент);
// ...
Элемент = Узлы.ЭлементОкружения.Добавить();
Элемент.Имя = "РеквизитФормыВЗначение";
ПроизвольноеОкружение.Методы.Вставить("РеквизитФормыВЗначение", Элемент);
// ...
Парсер.Пуск(Исходник, Плагины, ПараметрыПлагинов, ПроизвольноеОкружение);
Для Каждого Ошибка Из Парсер.ТаблицаОшибок() Цикл
Сообщить(Ошибка.Текст)
КонецЦикла;