Class PrefixTreeWalker

  • Direct Known Subclasses:
    PrefixTreeDumper

    public abstract class PrefixTreeWalker
    extends java.lang.Object
    Base class for routines which use a non recursive tree walker strategy. The typical recursive strategy can use a lot of stack frames for very large expressions these can cause a stack overflow exception. Subclasses should implement the visit methods of ParserVisitor to traverse the various nodes. In general these methods should not recursively walk the child nodes. This class uses a prefix traversal scheme hence the nodes of '1+2' will be visited in the order +,1,2.
    Author:
    Richard Morris
    See Also:
    PostfixTreeWalker
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void visit​(ASTConstant node, int nchildren, int depth1)  
      protected abstract void visit​(ASTFunNode node, int nchildren, int depth1)  
      protected abstract void visit​(ASTOpNode node, int nchildren, int depth1)  
      protected abstract void visit​(ASTVarNode node, int nchildren, int depth1)  
      void walk​(Node top)
      Uses a non-recursive method to traverse the tree under the node 'top'.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait