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

编译器/解释器

开发平台:

Others

  1. #include <iostream>
  2. #include "CalcLexer.hpp"
  3. #include "CalcParser.hpp"
  4. #include "CalcAST.hpp"
  5. int main()
  6. {
  7. ANTLR_USING_NAMESPACE(std)
  8. ANTLR_USING_NAMESPACE(antlr)
  9. try {
  10. CalcLexer lexer(cin);
  11. CalcParser parser(lexer);
  12. // Parse the input expression
  13. parser.expr();
  14. RefCalcAST t = RefCalcAST(parser.getAST());
  15. // Print the resulting tree out in LISP notation
  16. cout << t->toStringTree() << endl;
  17. // Compute value and return
  18. int r = t->value();
  19. cout << "value is " << r << endl;
  20. } catch(exception& e) {
  21. cerr << "exception: " << e.what() << endl;
  22. // e.printStackTrace();
  23. }
  24. }