Interface ConstraintExpression

All Known Implementing Classes:
ConstraintExpression.And, ConstraintExpression.Attribute, ConstraintExpression.BooleanLiteral, ConstraintExpression.Comparison, ConstraintExpression.Defined, ConstraintExpression.EnumLiteral, ConstraintExpression.FunctionCall, ConstraintExpression.Implies, ConstraintExpression.Not, ConstraintExpression.NumericLiteral, ConstraintExpression.ObjectCount, ConstraintExpression.Or, ConstraintExpression.Path, ConstraintExpression.TextLiteral

Small typed, semantic intermediate representation for constraint expressions.

The IR deliberately separates meaning from INTERLIS surface syntax. Frontends for INTERLIS 2.3, INTERLIS 2.4, decision tables or other structured rule sources translate into the same semantic tree. Renderers, case generators and solver adapters can then operate on that tree without duplicating logic for Math.add versus the INTERLIS 2.4 + operator, Math versus Math_V2, or similar syntax differences.