Skip to content

Lightsaber

Latest
Compare
Choose a tag to compare
@tsukanov-as tsukanov-as released this 04 May 13:06
940f6bf

May the fourth be with you

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

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

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

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

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