Skip to content

Releases: lead-tools/bsparser

Lightsaber

04 May 13:06
940f6bf
Compare
Choose a tag to compare

May the fourth be with you

Разбирает (должен) любой валидный код на встроенном языке платформы 1С:Предприятие 8.3.16 за исключением двух редких случаев:

  1. Инструкция препроцессора встречается внутри выражения.
  2. Инструкция препроцессора встречается перед объявлениями переменных в методе.

В некоторых редких случаях может разобрать невалидный код. Например, если директива встречается после объявлений процедур и функций, она будет проигнорирована. Еще, к примеру, не контролируется парность инструкций препроцессора.

Кроме того, известно два особых случая разбора:

  1. Если в модуле формы объявлено две переменные с одним и тем же названием, но разными директивами, то поведение парсера будет следующим:
    • если Парсер.СтрогийРежим = Истина, то будет выдано исключение "Повторное объявление идентификатора"
    • если Парсер.СтрогийРежим = Ложь, то модуль будет разобран и в местах использования переменной будет подвязано последнее по порядку объявление.
  2. Если в модуле формы объявлено два метода с одинаковым именем (платформа допускает такое для методов с директивой НаКлиентеНаСервереБезКонтекста), то поведение парсера будет следующим:
    • если Парсер.СтрогийРежим = Истина, то будет выдано исключение "Повторное объявление метода"
    • если Парсер.СтрогийРежим = Ложь, то модуль будет разобран и в местах использования метода будет подвязано последнее по порядку объявление.

release candidate 5

01 May 11:28
65ce736
Compare
Choose a tag to compare
release candidate 5 Pre-release
Pre-release

Основное:

  • Документация

release candidate 4

27 Apr 18:53
6f49ef1
Compare
Choose a tag to compare
release candidate 4 Pre-release
Pre-release

Основное:

  • Переименования
  • Мелкие улучшения

release candidate 3

26 Apr 19:40
f4e6fa1
Compare
Choose a tag to compare
release candidate 3 Pre-release
Pre-release

Основное:

  • Поддержка аннотаций
  • Книга Джедая

release candidate 2

24 Apr 19:41
cbf815b
Compare
Choose a tag to compare
release candidate 2 Pre-release
Pre-release

Основное:

  • Механизм замен
  • Мелкие улучшения

release candidate 1

18 Apr 12:23
90ecd7d
Compare
Choose a tag to compare
release candidate 1 Pre-release
Pre-release

Основное:

  • Таблица токенов
  • Работа с окружениями
  • Работа с параметрами плагинов

russian sword

12 Apr 20:26
1e86451
Compare
Choose a tag to compare
russian sword Pre-release
Pre-release

основное:

  • миграция на русский
  • компилятор в байткод идентичный платформенному
  • разбор операторов ДобавитьОбработчик/УдалитьОбработчик.

glowing sword

08 Sep 19:46
Compare
Choose a tag to compare
glowing sword Pre-release
Pre-release

фикс критичного бага и другие поправки

Во вложении демо-конфигурация для запуска группового парсинга (8 фоновых заданий) модулей в указанной папке: https://i.imgur.com/GjjMaBr.png

flaming sword

30 Aug 16:27
Compare
Choose a tag to compare
flaming sword Pre-release
Pre-release

Багфикс и изменения в AST

Во вложении демо-конфигурация для запуска группового парсинга (8 фоновых заданий) модулей в указанной папке: https://i.imgur.com/GjjMaBr.png

steel katana

25 Jul 17:29
Compare
Choose a tag to compare
steel katana Pre-release
Pre-release

Парсит ERP 2.4.1.189 (12000 модулей) за 12.5 минут (8 фоновых заданий на платформе 8.3.11.3133 x64).
Это время включает чтение модуля из базы, собственно парсинг и сохранение AST в базе.

Машина: i7-3630QM 2.4Ghz, 8Gb, SSD 860 EVO, Windows10, MS SQL 2016 DE

Разбирает полностью весь синтаксис кроме инструкций препроцессора внутри выражений и операторов ДобавитьОбработчик/УдалитьОбработчик.
Аннотации расширений не поддерживаются.

Документация доступна онлайн: https://lead-bullets.github.io/BSL-Parser/

Предполагается что с этого момента до релиза 1.0 будет только багфикс и улучшения не меняющие функционала (будут изменения AST).