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

编译器/解释器

开发平台:

Others

  1. options {
  2. language = "Sather";
  3. }
  4. class DATA_PARSER extends Parser;
  5. {
  6.    println ( s : STR ) is
  7.      #OUT + s + "n";
  8.    end;
  9. }
  10.    
  11. file: ( sh:SHORT {println(sh.text);}
  12. | st:STRING {println(""" + st.text + """);}
  13. )+
  14. ;
  15. class DATA_LEXER extends Lexer;
  16. options {
  17. charVocabulary = 'u0000'..'u00FF';
  18. }
  19. SHORT
  20. : '' high:. lo:.
  21. {
  22. v : INT := high.int.lshift(8) + lo.int;
  23. %setText(""+v);
  24. }
  25. ;
  26. STRING
  27. : '1'! // begin string (discard)
  28. ( ~'2' )*
  29. '2'! // end string (discard)
  30. ;