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

编译器/解释器

开发平台:

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/ANTLRGrammarParseBehavior.java#1 $
  7.  */
  8. import antlr.collections.impl.BitSet;
  9. public interface ANTLRGrammarParseBehavior {
  10. public void abortGrammar();
  11. public void beginAlt(boolean doAST_);
  12. public void beginChildList();
  13. // Exception handling
  14. public void beginExceptionGroup();
  15. public void beginExceptionSpec(Token label);
  16. public void beginSubRule(Token label, int line, boolean not);
  17. // Trees
  18. public void beginTree(int line)  throws SemanticException ;
  19. public void defineRuleName(Token r, String access, boolean ruleAST, String docComment) throws SemanticException;
  20. public void defineToken(Token tokname, Token tokliteral);
  21. public void endAlt();
  22. public void endChildList();
  23. public void endExceptionGroup();
  24. public void endExceptionSpec();
  25. public void endGrammar();
  26. public void endOptions();
  27. public void endRule(String r);
  28. public void endSubRule();
  29. public void endTree();
  30. public void hasError();
  31. public void noASTSubRule();
  32. public void oneOrMoreSubRule();
  33. public void optionalSubRule();
  34. public void refAction(Token action);
  35. public void refArgAction(Token action);
  36. public void refCharLiteral(Token lit, Token label, boolean inverted, int autoGenType, boolean lastInRule);
  37. public void refCharRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule);
  38. public void refElementOption(Token option, Token value);
  39. public void refTokensSpecElementOption(Token tok, Token option, Token value);
  40. public void refExceptionHandler(Token exTypeAndName, String action);
  41. public void refHeaderAction(Token name,Token act);
  42. public void refInitAction(Token action);
  43. public void refMemberAction(Token act);
  44. public void refPreambleAction(Token act);
  45. public void refReturnAction(Token returnAction);
  46. public void refRule(Token idAssign, Token r, Token label, Token arg, int autoGenType);
  47. public void refSemPred(Token pred);
  48. public void refStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule);
  49. public void refToken(Token assignId, Token t, Token label, Token args,
  50. boolean inverted, int autoGenType, boolean lastInRule);
  51. public void refTokenRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule);
  52. // Tree specifiers
  53. public void refTreeSpecifier(Token treeSpec);
  54. public void refWildcard(Token t, Token label, int autoGenType);
  55. public void setArgOfRuleRef(Token argaction);
  56. public void setCharVocabulary(BitSet b);
  57. // Options
  58. public void setFileOption(Token key, Token value, String filename);
  59. public void setGrammarOption(Token key, Token value);
  60. public void setRuleOption(Token key, Token value);
  61. public void setSubruleOption(Token key, Token value);
  62. public void startLexer(String file, Token name, String superClass, String doc);
  63. // Flow control for grammars
  64. public void startParser(String file, Token name, String superClass, String doc);
  65. public void startTreeWalker(String file, Token name, String superClass, String doc);
  66. public void synPred();
  67. public void zeroOrMoreSubRule();
  68. }