Зависимый набор правил

Правила в зависимом наборе правил обрабатываются не в том порядке, в каком они появляются в списке правил.

Обработка начинается с выбора всех правил, указывающих на Финальный результат набора правил. Сначала рассчитываются условия таких(ого) правил(а), и формируется список активных правил финального результата (т.е., правила, у которых нет условий или условия true):

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

Если найдено одно активное правило финального результата, рассчитывается его Выражение.

Обработка зависимого правила

Если выражение любого правила ссылается на одну или более переменных среды, оно считается зависимым от других правил. Для получения результата таких(ого) правил(а), система находит все активные правила (т.е. с условием no/true), чья цель указывает на эту переменную. Обработка набора правил останавливается, если не найдено ни одного правила или найдено более одного (см. выше). Если найдено одно правило, рассчитывается его Выражение. Это выражение может рекурсивно ссылаться на результат других правил.