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

编译器/解释器

开发平台:

Others

  1. header {
  2. #include "antlr/TokenStreamSelector.hpp"
  3. }
  4. options {
  5. language="Cpp";
  6. }
  7. class DemoJavaLexer extends Lexer;
  8. options {
  9. k=2;
  10. importVocab = Common;
  11. exportVocab = Java;
  12. }
  13. tokens {
  14. INT="int";
  15. }
  16. {
  17. private:
  18. ANTLR_USE_NAMESPACE(antlr)TokenStreamSelector* selector;
  19. public:
  20. void setSelector(ANTLR_USE_NAMESPACE(antlr)TokenStreamSelector* selector_) {
  21. selector=selector_;
  22. }
  23. }
  24. JAVADOC_OPEN
  25. : "/**" {selector->push("doclexer");}
  26. ;
  27. ID : ('a'..'z')+ ;
  28. SEMI: ';' ;
  29. WS_ : ( ' '
  30. | 't'
  31. | 'f'
  32. // handle newlines
  33. | ( "rn"  // Evil DOS
  34. | 'r'    // Macintosh
  35. | 'n'    // Unix (the right way)
  36. )
  37. { newline(); }
  38. )
  39. { $setType(ANTLR_USE_NAMESPACE(antlr)Token::SKIP); }
  40. ;