SemanticContext

@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>

Members

Classes

PrecedencePredicate
class PrecedencePredicate

TODO add class description

Predicate
class Predicate

TODO add class description

Functions

eval
bool eval(InterfaceRecognizer parser, RuleContext parserCallStack)
Undocumented in source. Be warned that the author may not have intended to support it.
evalPrecedence
SemanticContext evalPrecedence(InterfaceRecognizer parser, RuleContext parserCallStack)

@uml Evaluate the precedence predicates for the context and reduce the result.

filterPrecedencePredicates
PrecedencePredicate[] filterPrecedencePredicates(SemanticContext[] collection)
Undocumented in source. Be warned that the author may not have intended to support it.
toHash
size_t toHash()

@uml @safe @nothrow @override

Static functions

and
SemanticContext and(SemanticContext a, SemanticContext b)
Undocumented in source. Be warned that the author may not have intended to support it.
or
SemanticContext or(SemanticContext a, SemanticContext b)
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

NONE
SemanticContext NONE;

@uml The default {@link SemanticContext}, which is semantically equivalent to a predicate of the form {@code {true}?}.

Meta