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

编译器/解释器

开发平台:

Others

  1. options {
  2. language="Cpp";
  3. }
  4. {
  5. #include <iostream>
  6. }
  7. class DataParser extends Parser;
  8. file: ( sh:SHORT {std::cout << sh->getText() << std::endl;}
  9. | st:STRING {std::cout << """ << st->getText() << """ << std::endl;}
  10. )+
  11. ;
  12. {
  13. #include "antlr/String.hpp"
  14. }
  15. class DataLexer extends Lexer;
  16. options {
  17. charVocabulary = 'u0000'..'u00FF';
  18. }
  19. SHORT
  20. : '' high:. lo:.
  21. {
  22. ANTLR_USING_NAMESPACE(antlr) // to pick up operator+
  23. int v = (((int)high)<<8) + lo;
  24. $setText(std::string("")+v);
  25. }
  26. ;
  27. STRING
  28. : '1'! // begin string (discard)
  29. ( ~'2' )*
  30. '2'! // end string (discard)
  31. ;