TokenRefElement.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/TokenRefElement.java#1 $
  7.  */
  8. class TokenRefElement extends GrammarAtom {
  9. public TokenRefElement(Grammar g,
  10.    Token t,
  11.    boolean inverted,
  12.    int autoGenType)
  13. {
  14. super(g, t, autoGenType);
  15. not = inverted;
  16. TokenSymbol ts = grammar.tokenManager.getTokenSymbol(atomText);
  17. if (ts == null) {
  18. g.tool.error("Undefined token symbol: " +
  19.  atomText, grammar.getFilename(), t.getLine());
  20. } else {
  21. tokenType = ts.getTokenType();
  22. // set the AST node type to whatever was set in tokens {...}
  23. // section (if anything);
  24. // Lafter, after this is created, the element option can set this.
  25. setASTNodeType(ts.getASTNodeType());
  26. }
  27. line = t.getLine();
  28. }
  29. public void generate() {
  30. grammar.generator.gen(this);
  31. }
  32. public Lookahead look(int k) {
  33. return grammar.theLLkAnalyzer.look(k, this);
  34. }
  35. }