Парсер BSL для 1С на базе ANTLR4
Шаблон внешней компоненты 1С AddinTemplate, парсер BSL с использованием ANTLR4 для анализа синтаксиса и формирования дерева значений.
- Category: new-repos
- Published: 2025-08-27T05:25:28.540817
- Canonical: https://gitsell.ru/blog/parser-bsl-dlya-1s-na-baze-antlr4
Article
Представляем репозиторий https://github.com/aleksp99/bsl — шаблон внешней компоненты 1С AddinTemplate с интегрированным парсером BSL. Он использует ANTLR4 для анализа синтаксиса кода на языке Business Script Language (BSL) и построения дерева значений. Компонента подключается в 1С через макет, позволяет выполнять парсинг текста, проверять на ошибки и рекурсивно формировать структуру дерева с типами, текстом, номерами строк и символов.
Для работы: установите компоненту, создайте объект AddIn.Parser.BSL, вызовите метод Выполнить(Текст) для анализа. Если ошибок нет, сформируйте дерево значений с помощью рекурсивной процедуры. Это упрощает интеграцию парсинга в 1С-приложения для задач анализа и обработки кода.
Ключевые преимущества:
- Прямая интеграция с 1С без внешних зависимостей, кроме ANTLR4 для генерации.
- Автоматическое выявление синтаксических ошибок с возвратом их количества.
- Построение детального дерева значений для анализа структуры BSL-кода.
- Поддержка рекурсивного обхода лексем и элементов для глубокого разбора.
- Легкая компиляция с ANTLR4 в C++ для высокой производительности.
Ссылки
- GitHub: aleksp99/bsl
- Страница Gitsell: https://gitsell.ru/aleksp99/bsl