The fully resolved abstract syntax tree (AST) representation of the constraint language. The interfaces in this package specify what a fully resolved representation of a rule file looks like.

The package specifies no implementation. In order to obtain an AST instance, use a concrete implementation, for example using the public classes in the 'antlr' subpackage.

The main interface here is IRuleFile. In order to get to a fully resolved implementation of this class, a number of steps have to be performed:

If any of the above steps fail, the AST is unsafe and has to be discarded. For this reason, during all of the above steps, SyntaxError and SemanticError entries are collected.