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

编译器/解释器

开发平台:

Others

  1. options {
  2. language="Sather";
  3. }
  4. class DEMO_JAVADOC_LEXER extends Lexer;
  5. options {
  6. k=2;
  7. importVocab = Common;
  8. exportVocab = JAVADOC;
  9. filter=true;
  10. }
  11. PARAM
  12. : "@param" ' ' ID
  13. ;
  14. EXCEPTION
  15. : "@exception" ' ' ID
  16. ;
  17. protected
  18. ID : ('a'..'z'|'A'..'Z')+
  19. ;
  20. /* This rule simply prevents JAVADOC_CLOSE from being
  21.  *  called for every '*' in a comment.  Calling JAVADOC_CLOSE
  22.  *  will fail for simple '*' and cause an exception, which
  23.  *  is slow.  In other words, the grammar will work without
  24.  *  this rule, but is slower.
  25.  */
  26. STAR: '*' {%setType(ANTLR_COMMON_TOKEN::SKIP);}
  27. ;
  28. JAVADOC_CLOSE
  29. : "*/" { stream ::= MAIN::selector.pop;}
  30. ;
  31. /* Ignore whitespace inside JavaDoc comments */
  32. NEWLINE
  33. : ( "rn"  // Evil DOS
  34. | 'r'    // Macintosh
  35. | 'n'    // Unix (the right way)
  36. )
  37. { newline; %setType(ANTLR_COMMON_TOKEN::SKIP); }
  38. ;