TODO add class description
TODO add class description
@uml Evaluate the precedence predicates for the context and reduce the result.
@uml @safe @nothrow @override
@uml The default {@link SemanticContext}, which is semantically equivalent to a predicate of the form {@code {true}?}.
@uml A tree structure used to record the semantic context in which an ATN configuration is valid. It's either a single predicate, a conjunction {@code p1&&p2}, or a sum of products {@code p1||p2}.
<p>I have scoped the {@link AND}, {@link OR}, and {@link Predicate} subclasses of {@link SemanticContext} within the scope of this outer class.</p>