Click or drag to resize

Stimulsoft.Data.Expressions.Antlr.Runtime.Tree Namespace

[Missing <summary> documentation for "N:Stimulsoft.Data.Expressions.Antlr.Runtime.Tree"]

Classes
  ClassDescription
Public classAstTreeRuleReturnScopeTOutputTree, TInputTree
Public classBaseTree
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".
Public classBaseTreeAdaptor
A TreeAdaptor that works with any Tree implementation.
Public classBufferedTreeNodeStream
A buffered stream of tree nodes. Nodes can be from a tree of ANY kind.
Protected classBufferedTreeNodeStreamStreamIterator
Public classCommonErrorNode
A node representing erroneous token range in token stream
Public classCommonTree
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.
Public classCommonTreeAdaptor
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.
Public classCommonTreeNodeStream
Public classDotTreeGenerator
Public classParseTree
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.
Public classRewriteCardinalityException
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|
Public classRewriteEarlyExitException
No elements within a (...)+ in a rewrite rule
Public classRewriteEmptyStreamException
Ref to ID or expr but no tokens in ID stream or subtrees in expr stream
Public classRewriteRuleElementStream
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.
Public classRewriteRuleNodeStream
Queues up nodes matched on left side of -> in a tree parser. This is the analog of RewriteRuleTokenStream for normal parsers.
Public classRewriteRuleSubtreeStream
Public classRewriteRuleTokenStream
Public classTemplateTreeRuleReturnScopeTTemplate, TTree
Public classTreeFilter
Public classTreeIterator
Public classTreeParser
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.
Public classTreePatternLexer
Public classTreePatternParser
Public classTreeRewriter
Public classTreeRuleReturnScopeTTree
This is identical to the ParserRuleReturnScope except that the start property is a tree nodes not Token object when you are parsing trees.
Public classTreeVisitor
Do a depth first walk of a tree, applying pre() and post() actions as we go.
Public classTreeVisitorAction
Public classTreeWizard
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.
Public classTreeWizardTreePattern
When using %label:TOKENNAME in a tree for parse(), we must track the label.
Public classTreeWizardTreePatternTreeAdaptor
This adaptor creates TreePattern objects for use during scan()
Public classTreeWizardVisitor
Public classTreeWizardWildcardTreePattern
Interfaces
  InterfaceDescription
Public interfaceIPositionTrackingStream
Public interfaceITree
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.
Public interfaceITreeAdaptor
How to create and navigate trees. Rather than have a separate factory and adaptor, I've merged them. Makes sense to encapsulate.
Public interfaceITreeNodeStream
A stream of tree nodes, accessing nodes from a tree of some kind
Public interfaceITreeVisitorAction
How to execute code for node t when a visitor visits node t. Execute pre() before visiting children and execute post() after visiting children.
Public interfaceTreeWizardIContextVisitor