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

编译器/解释器

开发平台:

Others

  1. import java.io.*;
  2. import antlr.CommonAST;
  3. import antlr.collections.AST;
  4. class Main {
  5. public static void main(String[] args) {
  6. try {
  7. CalcLexer lexer = new CalcLexer(new DataInputStream(System.in));
  8. CalcParser parser = new CalcParser(lexer);
  9. // Parse the input expression
  10. parser.expr();
  11. CalcAST t = (CalcAST)parser.getAST();
  12. // Print the resulting tree out in LISP notation
  13. System.out.println(t.toStringTree());
  14. // XML serialize the tree, showing
  15. // different physical node class types
  16. Writer w = new OutputStreamWriter(System.out);
  17. t.xmlSerialize(w);
  18. w.write("n");
  19. w.flush();
  20. // Compute value and return
  21. int r = t.value();
  22. System.out.println("value is "+r);
  23. } catch(Exception e) {
  24. System.err.println("exception: "+e);
  25. e.printStackTrace();
  26. }
  27. }
  28. }