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

编译器/解释器

开发平台:

Others

  1. class MAIN is
  2.    main ( args : ARRAY{STR} ) is
  3.       if ( args.size < 2 ) then
  4.  #OUT + "usage " + args[0] + " <filename>n";
  5.  return;
  6.       end;
  7.  
  8.       f : IFSTREAM := IFSTREAM::open_for_read( args[1] );
  9.       if ( void(f) ) then
  10.  #OUT + "file "" + args[1] + "" not foundn";
  11.  return;
  12.       end;
  13.       protect
  14.  lexer  ::= #SATHER_LEXER{ANTLR_COMMON_TOKEN}( f );
  15.  parser ::= #SATHER_PARSER{ANTLR_COMMON_TOKEN, ANTLR_COMMON_AST}( lexer );
  16.  parser.parse;
  17.  
  18.  t : ANTLR_COMMON_AST := parser.ast;
  19.  #OUT + t.str_list + "n";
  20.  
  21.       when $ANTLR_RECOGNITION_EXCEPTION then
  22.  #ERR + "exception: " + exception.str + "n";  
  23.       end;
  24.       
  25.    end;
  26. end;