Парсер BSL для 1С на базе ANTLR4

Шаблон внешней компоненты 1С AddinTemplate, парсер BSL с использованием 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++ для высокой производительности.

Ссылки