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

编译器/解释器

开发平台:

Others

  1. #include <iostream>
  2. #include "CalcLexer.hpp"
  3. #include "CalcParser.hpp"
  4. #include "CalcTreeWalker.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. RefAST t = parser.getAST();
  15. // Print the resulting tree out in LISP notation
  16. cout << t->toStringList() << endl;
  17. CalcTreeWalker walker;
  18. // Traverse the tree created by the parser
  19. walker.expr(t);
  20. t = walker.getAST();
  21. cout << t->toStringList() << endl;
  22. } catch(exception& e) {
  23. cerr << "exception: " << e.what() << endl;
  24. }
  25. }