mirror of
https://github.com/bia-technologies/bsl-parser.git
synced 2025-02-16 19:47:28 +02:00
init
This commit is contained in:
commit
6ad7eabba2
64
.vscode/tasks.json
vendored
Normal file
64
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
"version": "0.1.0",
|
||||
"command": "oscript",
|
||||
"isShellCommand": true,
|
||||
"showOutput": "silent",
|
||||
"args": [
|
||||
"-encoding=utf-8"
|
||||
],
|
||||
"tasks": [
|
||||
{
|
||||
"taskName": "OneScript: compile",
|
||||
"args": [
|
||||
"-compile",
|
||||
"${file}"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": false
|
||||
},
|
||||
{
|
||||
"taskName": "OneScript: check",
|
||||
"args": [
|
||||
"-check",
|
||||
"${file}"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": false
|
||||
},
|
||||
{
|
||||
"taskName": "OneScript: make",
|
||||
"args": [
|
||||
"-make",
|
||||
"${file}",
|
||||
"${fileBasename}.exe"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": false
|
||||
},
|
||||
{
|
||||
"taskName": "OneScript: run",
|
||||
"args": [
|
||||
"${file}"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": true,
|
||||
"problemMatcher": {
|
||||
"fileLocation": "absolute",
|
||||
"pattern": {
|
||||
"regexp": "^{Модуль\\s+(.*)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+(.*)}$",
|
||||
"file": 1,
|
||||
"location": 2,
|
||||
"message": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
6
lib.config
Normal file
6
lib.config
Normal file
@ -0,0 +1,6 @@
|
||||
<package-def>
|
||||
<class name="РазборСтруктурыКонфигурации" file="src/РазборСтруктурыКонфигурации.os"/>
|
||||
<module name="ТипБлоковМодуля" file="src/Core/Модули/ТипБлоковМодуля.os"/>
|
||||
<module name="ТипМодуля" file="src/Core/Модули/ТипМодуля.os"/>
|
||||
<module name="ТипОбласти" file="src/Core/Модули/ТипОбласти.os"/>
|
||||
</package-def>
|
5
packagedef
Normal file
5
packagedef
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Описание.Имя("parserbia")
|
||||
.Версия("1.0.2")
|
||||
.ВключитьФайл("src")
|
||||
.ВключитьФайл("lib.config");
|
10
readme.md
Normal file
10
readme.md
Normal file
@ -0,0 +1,10 @@
|
||||
# Парсер конфигурации 1С
|
||||
|
||||
## Информация
|
||||
|
||||
Скрипты данной библиотеки используются для разбора конфигурации 1С выгруженной в исходные файлы.
|
||||
|
||||
## Установка
|
||||
|
||||
`#Использовать "parser-bia"`
|
||||
`Парсер = Новый РазборСтруктурыКонфигурации();`
|
37
src/core/Модули/ТипБлоковМодуля.os
Normal file
37
src/core/Модули/ТипБлоковМодуля.os
Normal file
@ -0,0 +1,37 @@
|
||||
Перем ОписаниеПеременной Экспорт;
|
||||
|
||||
Перем ЗаголовокПроцедуры Экспорт;
|
||||
Перем ОкончаниеПроцедуры Экспорт;
|
||||
|
||||
Перем ЗаголовокФункции Экспорт;
|
||||
Перем ОкончаниеФункции Экспорт;
|
||||
|
||||
Перем НачалоОбласти Экспорт;
|
||||
Перем КонецОбласти Экспорт;
|
||||
|
||||
Перем Операторы Экспорт;
|
||||
Перем Комментарий Экспорт;
|
||||
Перем СтрокаТекста Экспорт;
|
||||
Перем ДирективаКомпиляции Экспорт;
|
||||
Перем ПустаяСтрока Экспорт;
|
||||
Перем Описание Экспорт;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ОписаниеПеременной = "ОписаниеПеременной";
|
||||
|
||||
ЗаголовокПроцедуры = "ЗаголовокПроцедуры";
|
||||
ОкончаниеПроцедуры = "ОкончаниеПроцедуры";
|
||||
|
||||
ЗаголовокФункции = "ЗаголовокФункции";
|
||||
ОкончаниеФункции = "ОкончаниеФункции";
|
||||
|
||||
НачалоОбласти = "НачалоОбласти";
|
||||
КонецОбласти = "КонецОбласти";
|
||||
|
||||
Операторы = "Операторы";
|
||||
Комментарий = "Комментарий";
|
||||
СтрокаТекста = "СтрокаТекста";
|
||||
ДирективаКомпиляции = "ДирективаКомпиляции";
|
||||
ПустаяСтрока = "ПустаяСтрока";
|
||||
Описание = "Описание";
|
125
src/core/Модули/ТипМодуля.os
Normal file
125
src/core/Модули/ТипМодуля.os
Normal file
@ -0,0 +1,125 @@
|
||||
Перем ОбщийМодуль Экспорт;
|
||||
|
||||
Перем МодульОбъекта Экспорт;
|
||||
Перем МодульМенеджера Экспорт;
|
||||
|
||||
Перем МодульОбычнойФормы Экспорт;
|
||||
Перем МодульУправляемойФормы Экспорт;
|
||||
|
||||
Перем МодульКоманды Экспорт;
|
||||
|
||||
Перем МодульСеанса Экспорт;
|
||||
Перем МодульОбычногоПриложения Экспорт;
|
||||
Перем МодульУправляемогоПриложения Экспорт;
|
||||
Перем МодульВнешнегоСоединения Экспорт;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Функция ТипМодуляПоИмениФайла(ПолноеИмяФайла)Экспорт
|
||||
|
||||
Файл = Новый Файл(ПолноеИмяФайла);
|
||||
ИмяБезРасширения = Файл.ИмяБезРасширения;
|
||||
Расширение = Файл.Расширение;
|
||||
|
||||
ТипЭтогоМодуля = "";
|
||||
|
||||
Если ИмяБезРасширения = "CommandModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульКоманды;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "ManagedApplicationModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульУправляемогоПриложения;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "OrdinaryApplicationModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульОбычногоПриложения;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "SessionModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульСеанса;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "ExternalConnectionModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульВнешнегоСоединения;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "ManagerModule"
|
||||
ИЛИ ИмяБезРасширения = "ValueManagerModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульМенеджера;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "ObjectModule"
|
||||
ИЛИ ИмяБезРасширения = "RecordSetModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульОбъекта;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "module" И ПустаяСтрока(Расширение) Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульОбычнойФормы;
|
||||
|
||||
ИначеЕсли ИмяБезРасширения = "Module" Тогда
|
||||
|
||||
МассивЧастейИмени = СтрРазделить(ПолноеИмяФайла, "\");
|
||||
Если МассивЧастейИмени.Количество() > 3 Тогда
|
||||
|
||||
Родитель = МассивЧастейИмени[МассивЧастейИмени.Количество() - 2];
|
||||
Если Родитель = "Ext" Тогда
|
||||
|
||||
Родитель = МассивЧастейИмени[МассивЧастейИмени.Количество() - 4];
|
||||
Если Родитель = "CommonModules" Тогда
|
||||
|
||||
ТипЭтогоМодуля = ОбщийМодуль;
|
||||
|
||||
ИначеЕсли Родитель = "WebServices" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульОбъекта;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли Родитель = "Form" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульУправляемойФормы;
|
||||
|
||||
Иначе
|
||||
|
||||
Родитель = МассивЧастейИмени[МассивЧастейИмени.Количество() - 3];
|
||||
Если Родитель = "CommonModule" Тогда
|
||||
|
||||
ТипЭтогоМодуля = ОбщийМодуль;
|
||||
|
||||
ИначеЕсли Родитель = "WebService" Тогда
|
||||
|
||||
ТипЭтогоМодуля = МодульОбъекта;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
ВызватьИсключение "Ошибочная структура имени файла: " + ПолноеИмяФайла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТипЭтогоМодуля;
|
||||
|
||||
КонецФункции
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ОбщийМодуль = "ОбщийМодуль";
|
||||
|
||||
МодульОбъекта = "МодульОбъекта";
|
||||
МодульМенеджера = "МодульМенеджера";
|
||||
|
||||
МодульОбычнойФормы = "МодульОбычнойФормы";
|
||||
МодульУправляемойФормы = "МодульУправляемойФормы";
|
||||
|
||||
МодульКоманды = "МодульКоманды";
|
||||
|
||||
МодульСеанса = "МодульСеанса";
|
||||
МодульОбычногоПриложения = "МодульОбычногоПриложения";
|
||||
МодульУправляемогоПриложения = "МодульУправляемогоПриложения";
|
||||
МодульВнешнегоСоединения = "МодульВнешнегоСоединения";
|
22
src/core/Модули/ТипОбласти.os
Normal file
22
src/core/Модули/ТипОбласти.os
Normal file
@ -0,0 +1,22 @@
|
||||
Перем РазделыОбщегоМодуля Экспорт;
|
||||
Перем РазделыМодуляМенеджера Экспорт;
|
||||
|
||||
Перем РазделПрограммныйИнтерфейс Экспорт;
|
||||
Перем РазделСлужебныйПрограммныйИнтерфейс Экспорт;
|
||||
Перем РазделСлужебныеПроцедурыИФункции Экспорт;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
РазделПрограммныйИнтерфейс = "ПрограммныйИнтерфейс";
|
||||
РазделСлужебныйПрограммныйИнтерфейс = "СлужебныйПрограммныйИнтерфейс";
|
||||
РазделСлужебныеПроцедурыИФункции = "СлужебныеПроцедурыИФункции";
|
||||
|
||||
РазделыОбщегоМодуля = Новый Массив;
|
||||
РазделыОбщегоМодуля.Добавить(РазделПрограммныйИнтерфейс);
|
||||
РазделыОбщегоМодуля.Добавить(РазделСлужебныйПрограммныйИнтерфейс);
|
||||
РазделыОбщегоМодуля.Добавить(РазделСлужебныеПроцедурыИФункции);
|
||||
|
||||
РазделыМодуляМенеджера = Новый Массив;
|
||||
РазделыМодуляМенеджера.Добавить(РазделПрограммныйИнтерфейс);
|
||||
РазделыМодуляМенеджера.Добавить(РазделСлужебныйПрограммныйИнтерфейс);
|
||||
РазделыМодуляМенеджера.Добавить(РазделСлужебныеПроцедурыИФункции);
|
1875
src/РазборСтруктурыКонфигурации.os
Normal file
1875
src/РазборСтруктурыКонфигурации.os
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user