Stimulsoft.Data.Expressions.Antlr.Runtime.Tree Namespace |
[Missing <summary> documentation for "N:Stimulsoft.Data.Expressions.Antlr.Runtime.Tree"]
Class | Description | |
---|---|---|
![]() | AstTreeRuleReturnScopeTOutputTree, TInputTree | |
![]() | BaseTree |
A generic tree implementation with no payload. You must subclass to
actually have any user data. ANTLR v3 uses a list of children approach
instead of the child-sibling approach in v2. A flat tree (a list) is
an empty node whose children represent the list. An empty, but
non-null node is called "nil".
|
![]() | BaseTreeAdaptor | A TreeAdaptor that works with any Tree implementation. |
![]() | BufferedTreeNodeStream | A buffered stream of tree nodes. Nodes can be from a tree of ANY kind. |
![]() | BufferedTreeNodeStreamStreamIterator | |
![]() | CommonErrorNode | A node representing erroneous token range in token stream |
![]() | CommonTree |
A tree node that is wrapper for a Token object. After 3.0 release
while building tree rewrite stuff, it became clear that computing
parent and child index is very difficult and cumbersome. Better to
spend the space in every tree node. If you don't want these extra
fields, it's easy to cut them out in your own BaseTree subclass.
|
![]() | CommonTreeAdaptor |
A TreeAdaptor that works with any Tree implementation. It provides
really just factory methods; all the work is done by BaseTreeAdaptor.
If you would like to have different tokens created than ClassicToken
objects, you need to override this and then set the parser tree adaptor to
use your subclass.
|
![]() | CommonTreeNodeStream | |
![]() | DotTreeGenerator | |
![]() | ParseTree |
A record of the rules used to match a token sequence. The tokens
end up as the leaves of this tree and rule nodes are the interior nodes.
This really adds no functionality, it is just an alias for CommonTree
that is more meaningful (specific) and holds a String to display for a node.
|
![]() | RewriteCardinalityException |
Base class for all exceptions thrown during AST rewrite construction.
This signifies a case where the cardinality of two or more elements
in a subrule are different: (ID INT)+ where |ID|!=|INT|
|
![]() | RewriteEarlyExitException | No elements within a (...)+ in a rewrite rule |
![]() | RewriteEmptyStreamException | Ref to ID or expr but no tokens in ID stream or subtrees in expr stream |
![]() | RewriteRuleElementStream |
A generic list of elements tracked in an alternative to be used in
a -> rewrite rule. We need to subclass to fill in the next() method,
which returns either an AST node wrapped around a token payload or
an existing subtree.
|
![]() | RewriteRuleNodeStream |
Queues up nodes matched on left side of -> in a tree parser. This is
the analog of RewriteRuleTokenStream for normal parsers.
|
![]() | RewriteRuleSubtreeStream | |
![]() | RewriteRuleTokenStream | |
![]() | TemplateTreeRuleReturnScopeTTemplate, TTree | |
![]() | TreeFilter | |
![]() | TreeIterator | |
![]() | TreeParser |
A parser for a stream of tree nodes. "tree grammars" result in a subclass
of this. All the error reporting and recovery is shared with Parser via
the BaseRecognizer superclass.
|
![]() | TreePatternLexer | |
![]() | TreePatternParser | |
![]() | TreeRewriter | |
![]() | TreeRuleReturnScopeTTree |
This is identical to the ParserRuleReturnScope except that
the start property is a tree nodes not Token object
when you are parsing trees.
|
![]() | TreeVisitor | Do a depth first walk of a tree, applying pre() and post() actions as we go. |
![]() | TreeVisitorAction | |
![]() | TreeWizard |
Build and navigate trees with this object. Must know about the names
of tokens so you have to pass in a map or array of token names (from which
this class can build the map). I.e., Token DECL means nothing unless the
class can translate it to a token type.
|
![]() | TreeWizardTreePattern |
When using %label:TOKENNAME in a tree for parse(), we must
track the label.
|
![]() | TreeWizardTreePatternTreeAdaptor | This adaptor creates TreePattern objects for use during scan() |
![]() | TreeWizardVisitor | |
![]() | TreeWizardWildcardTreePattern |
Interface | Description | |
---|---|---|
![]() | IPositionTrackingStream | |
![]() | ITree |
What does a tree look like? ANTLR has a number of support classes
such as CommonTreeNodeStream that work on these kinds of trees. You
don't have to make your trees implement this interface, but if you do,
you'll be able to use more support code.
|
![]() | ITreeAdaptor |
How to create and navigate trees. Rather than have a separate factory
and adaptor, I've merged them. Makes sense to encapsulate.
|
![]() | ITreeNodeStream | A stream of tree nodes, accessing nodes from a tree of some kind |
![]() | ITreeVisitorAction |
How to execute code for node t when a visitor visits node t. Execute
pre() before visiting children and execute post() after visiting children.
|
![]() | TreeWizardIContextVisitor |