GrammarElement.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/GrammarElement.java#1 $
  7.  */
  8. /**A GrammarElement is a generic node in our
  9.  * data structure that holds a grammar in memory.
  10.  * This data structure can be used for static
  11.  * analysis or for dynamic analysis (during parsing).
  12.  * Every node must know which grammar owns it, how
  13.  * to generate code, and how to do analysis.
  14.  */
  15. abstract class GrammarElement {
  16. public static final int AUTO_GEN_NONE = 1;
  17. public static final int AUTO_GEN_CARET = 2;
  18. public static final int AUTO_GEN_BANG = 3;
  19. /*
  20.  * Note that Java does static argument type matching to
  21.  * determine which function to execute on the receiver.
  22.  * Here, that implies that we cannot simply say
  23.  * grammar.generator.gen(this) in GrammarElement or
  24.  * only CodeGenerator.gen(GrammarElement ge) would
  25.  * ever be called.
  26.  */
  27. protected Grammar grammar;
  28. protected int line;
  29. public GrammarElement(Grammar g) {
  30. grammar = g;
  31. }
  32. public void generate() {;}
  33. public int getLine() {
  34. return line;
  35. }
  36. public Lookahead look(int k) { return null; }
  37. public abstract String toString();
  38. }