Public Member Functions
rve_interface_gen.antlr3.tree.CommonTreeAdaptor Class Reference
Inheritance diagram for rve_interface_gen.antlr3.tree.CommonTreeAdaptor:
Inheritance graph
[legend]

List of all members.

Public Member Functions

def createToken
def createWithPayload
def dupNode
def getChild
def getChildCount
def getChildIndex
def getParent
def getText
def getToken
def getTokenStartIndex
def getTokenStopIndex
def getType
def replaceChildren
def setChildIndex
def setParent
def setTokenBoundaries

Detailed Description

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

To get your parser to build nodes of a different type, override
create(Token), errorNode(), and to be safe, YourTreeClass.dupNode().
dupNode is called to duplicate nodes during rewrite operations.

Definition at line 1470 of file tree.py.


Member Function Documentation

def rve_interface_gen.antlr3.tree.CommonTreeAdaptor.createToken (   self,
  fromToken = None,
  tokenType = None,
  text = None 
)
Tell me how to create a token for use with imaginary token nodes.
For example, there is probably no input symbol associated with imaginary
token DECL, but you need to create it as a payload or whatever for
the DECL node as in ^(DECL type ID).

If you care what the token payload objects' type is, you should
override this method and any other createToken variant.

Reimplemented from rve_interface_gen.antlr3.tree.BaseTreeAdaptor.

Definition at line 1504 of file tree.py.

Create a tree node from Token object; for CommonTree type trees,
then the token just becomes the payload.  This is the most
common create call.

Override if you want another kind of node to be built.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1500 of file tree.py.

Duplicate a node.  This is part of the factory;
override if you want another kind of node to be built.

I could use reflection to prevent having to override this
but reflection is slow.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1485 of file tree.py.

Get a child 0..n-1 node

Reimplemented from rve_interface_gen.antlr3.tree.BaseTreeAdaptor.

Definition at line 1583 of file tree.py.

How many children?  If 0, then this is a leaf node

Reimplemented from rve_interface_gen.antlr3.tree.BaseTreeAdaptor.

Definition at line 1589 of file tree.py.

What index is this node in the child list? Range: 0..n-1
If your node type doesn't handle this, it's ok but the tree rewrites
in tree parsers need this functionality.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1603 of file tree.py.

Who is the parent node of this node; if null, implies node is root.
If your node type doesn't handle this, it's ok but the tree rewrites
in tree parsers need this functionality.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1595 of file tree.py.

Reimplemented from rve_interface_gen.antlr3.tree.BaseTreeAdaptor.

Definition at line 1557 of file tree.py.

What is the Token associated with this node?  If
you are not using CommonTree, then you must
override this in your own adaptor.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1570 of file tree.py.

Get the token start index for this subtree; return -1 if no such index

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1545 of file tree.py.

Get the token stop index for this subtree; return -1 if no such index

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1551 of file tree.py.

For tree parsing, I need to know the token type of a node

Reimplemented from rve_interface_gen.antlr3.tree.BaseTreeAdaptor.

Definition at line 1563 of file tree.py.

def rve_interface_gen.antlr3.tree.CommonTreeAdaptor.replaceChildren (   self,
  parent,
  startChildIndex,
  stopChildIndex,
  t 
)
Replace from start to stop child index of parent with t, which might
be a list.  Number of children may be different
after this call.

If parent is null, don't do anything; must be at root of overall tree.
Can't replace whatever points to the parent externally.  Do nothing.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1613 of file tree.py.

What index is this node in the child list? Range: 0..n-1
If your node type doesn't handle this, it's ok but the tree rewrites
in tree parsers need this functionality.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1609 of file tree.py.

Who is the parent node of this node; if null, implies node is root.
If your node type doesn't handle this, it's ok but the tree rewrites
in tree parsers need this functionality.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1599 of file tree.py.

def rve_interface_gen.antlr3.tree.CommonTreeAdaptor.setTokenBoundaries (   self,
  t,
  startToken,
  stopToken 
)
Track start/stop token for subtree root created for a rule.
Only works with Tree nodes.  For rules that match nothing,
seems like this will yield start=i and stop=i-1 in a nil node.
Might be useful info so I'll not force to be i..i.

Reimplemented from rve_interface_gen.antlr3.tree.TreeAdaptor.

Definition at line 1521 of file tree.py.


The documentation for this class was generated from the following file:


rve_interface_gen
Author(s): Josh Faust
autogenerated on Wed Dec 11 2013 14:31:00