AST.java
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:2k
源码类别:

编译器/解释器

开发平台:

Others

  1. package antlr.collections;
  2. /* ANTLR Translator Generator
  3.  * Project led by Terence Parr at http://www.jGuru.com
  4.  * Software rights: http://www.antlr.org/RIGHTS.html
  5.  *
  6.  * $Id: //depot/code/org.antlr/release/antlr-2.7.0/antlr/collections/AST.java#1 $
  7.  */
  8. import antlr.Token;
  9. /** Minimal AST node interface used by ANTLR AST generation
  10.  * and tree-walker.
  11.  */
  12. public interface AST {
  13.     /** Add a (rightmost) child to this node */
  14.     public void addChild(AST c);
  15.     public boolean equals(AST t);
  16.     public boolean equalsList(AST t);
  17.     public boolean equalsListPartial(AST t);
  18.     public boolean equalsTree(AST t);
  19.     public boolean equalsTreePartial(AST t);
  20.     public ASTEnumeration findAll(AST tree);
  21.     public ASTEnumeration findAllPartial(AST subtree);
  22.     /** Get the first child of this node; null if no children */
  23.     public AST getFirstChild();
  24.     /** Get the next sibling in line after this one */
  25.     public AST getNextSibling();
  26.     /** Get the token text for this node */
  27.     public String getText();
  28.     /** Get the token type for this node */
  29.     public int getType();
  30.     public void initialize(int t, String txt);
  31.     public void initialize(AST t);
  32.     public void initialize(Token t);
  33.     /** Set the first child of a node. */
  34.     public void setFirstChild(AST c);
  35.     /** Set the next sibling after this one. */
  36.     public void setNextSibling(AST n);
  37.     /** Set the token text for this node */
  38.     public void setText(String text);
  39.     /** Set the token type for this node */
  40.     public void setType(int ttype);
  41.     public String toString();
  42.     public String toStringList();
  43.     public String toStringTree();
  44. }