App Engine Python SDK  v1.6.9 rev.445
The Python runtime is available as an experimental Preview feature.
Public Member Functions | Public Attributes | List of all members
google.appengine._internal.antlr3.tree.CommonTreeNodeStream Class Reference
Inheritance diagram for google.appengine._internal.antlr3.tree.CommonTreeNodeStream:
google.appengine._internal.antlr3.tree.TreeNodeStream google.appengine._internal.antlr3.streams.IntStream

Public Member Functions

def __init__
 
def fillBuffer
 
def getNodeIndex
 
def addNavigationNode
 
def get
 
def LT
 
def getCurrentSymbol
 
def LB
 
def getTreeSource
 
def getSourceName
 
def getTokenStream
 
def setTokenStream
 
def getTreeAdaptor
 
def hasUniqueNavigationNodes
 
def setUniqueNavigationNodes
 
def consume
 
def LA
 
def mark
 
def release
 
def index
 
def rewind
 
def seek
 
def push
 
def pop
 
def reset
 
def size
 
def replaceChildren
 
def __str__
 
def toString
 
def __iter__
 iterator interface
 
- Public Member Functions inherited from google.appengine._internal.antlr3.tree.TreeNodeStream
def get
 
def LT
 
def getTreeSource
 
def getTokenStream
 
def getTreeAdaptor
 
def setUniqueNavigationNodes
 
def toString
 
def replaceChildren
 
- Public Member Functions inherited from google.appengine._internal.antlr3.streams.IntStream
def consume
 
def LA
 
def mark
 
def index
 
def rewind
 
def release
 
def seek
 
def size
 
def getSourceName
 

Public Attributes

 down
 
 up
 
 eof
 
 nodes
 
 root
 
 tokens
 
 adaptor
 
 uniqueNavigationNodes
 
 p
 
 lastMarker
 
 calls
 

Detailed Description

@brief A buffered stream of tree nodes.

Nodes can be from a tree of ANY kind.

This node stream sucks all nodes out of the tree specified in
the constructor during construction and makes pointers into
the tree using an array of Object pointers. The stream necessarily
includes pointers to DOWN and UP and EOF nodes.

This stream knows how to mark/release for backtracking.

This stream is most suitable for tree interpreters that need to
jump around a lot or for tree parsers requiring speed (at cost of memory).
There is some duplicated functionality here with UnBufferedTreeNodeStream
but just in bookkeeping, not tree walking etc...

@see UnBufferedTreeNodeStream

Member Function Documentation

def google.appengine._internal.antlr3.tree.CommonTreeNodeStream.__str__ (   self)
Used for testing, just return the token type stream
def google.appengine._internal.antlr3.tree.CommonTreeNodeStream.addNavigationNode (   self,
  ttype 
)
As we flatten the tree, we use UP, DOWN nodes to represent
the tree structure.  When debugging we need unique nodes
so instantiate new ones when uniqueNavigationNodes is true.
def google.appengine._internal.antlr3.tree.CommonTreeNodeStream.fillBuffer (   self)
Walk tree with depth-first-search and fill nodes buffer.
Don't do DOWN, UP nodes if its a list (t is isNil).
def google.appengine._internal.antlr3.tree.CommonTreeNodeStream.getNodeIndex (   self,
  node 
)
What is the stream index for node? 0..n-1
Return -1 if node not found.
def google.appengine._internal.antlr3.tree.CommonTreeNodeStream.LB (   self,
  k 
)
Look backwards k nodes
def google.appengine._internal.antlr3.tree.CommonTreeNodeStream.pop (   self)
Seek back to previous index saved during last push() call.
Return top of stack (return index).
def google.appengine._internal.antlr3.tree.CommonTreeNodeStream.push (   self,
  index 
)
Make stream jump to a new location, saving old location.
Switch back with pop().

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