Skip to content

hidcontrol/javael-to-feel

Repository files navigation

JavaEL-to-FEEL

Общая струкутра логики перевода

  1. Построение AST сгенерированным ANTL4 билдером
  2. Обход AST и пометка простых операндов логических выражений
  3. На место операндов в выражении подставляется их id
  4. Выражение преобразуется к КНФ с помощью Pyeda
  5. Строится синтаксическое дерево КНФ - выражения
  6. По дереву JavaEL выражение строится дерево DMN выражений
  7. Каждая нода ExpressionNode дерева DMN выражений переводится в FEEL

Полученное DMN-дерево представляет уже переведенное выражение, по которому строится XML дерево

Структура DMN-дерева

  • DMN-дерево состоит из нод, представляющих выражение (ExpressionDMN) и нелогический оператор (OperatorDMN).
  • Каждый, кроме корневого, ExpressionDMN имеет id зависимых нод, вместо части выражения, которое они представляют.
  • Потомком OperatorDMN может быть как OperatorDMN, так и ExpressionDMN.

Генерация XML

Используется библиотека lxml. Обходя DMN-дерево, для каждой ноды генерируется ee xml представление DRD.

  • Для OperatorDMN это заготовленная таблица логики оператора с операндами на входе.
  • Для ExpressionDMN строится AST FEEL выражения и из него извлекаются необходимые аттрибуты.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published