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

编译器/解释器

开发平台:

Others

  1. package antlr;
  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/RuleSymbol.java#1 $
  7.  */
  8. import antlr.collections.impl.Vector;
  9. class RuleSymbol extends GrammarSymbol {
  10.     RuleBlock block; // list of alternatives
  11.     boolean defined; // has the rule been defined yet?
  12.     Vector references; // list of all nodes referencing this rule
  13. // not strictly needed by generic symbol table
  14. // but we will almost always analyze/gen code
  15.     String access; // access specifier for this rule
  16.     String comment; // A javadoc comment if any.
  17.     
  18.     public RuleSymbol(String r) {
  19. super(r);
  20. references = new Vector();
  21.     }
  22.     public void addReference(RuleRefElement e) {
  23. references.appendElement(e);
  24.     }
  25.     public RuleBlock getBlock() {
  26. return block;
  27.     }
  28.     public RuleRefElement getReference(int i) {
  29. return (RuleRefElement)references.elementAt(i);
  30.     }
  31.     public boolean isDefined() {
  32. return defined;
  33.     }
  34.     public int numReferences() {
  35. return references.size();
  36.     }
  37.     public void setBlock(RuleBlock rb) {
  38. block = rb;
  39.     }
  40.     public void setDefined() {
  41. defined = true;
  42.     }
  43. }