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

编译器/解释器

开发平台:

Others

  1. #include <iostream>
  2. #include "Main.hpp"
  3. #include "PLexer.hpp"
  4. #include "PParser.hpp"
  5. ANTLR_USING_NAMESPACE(std)
  6. ANTLR_USING_NAMESPACE(antlr)
  7. // Define a selector that can handle nested include files.
  8. // These variables are public so the parser/lexer can see them.
  9. TokenStreamSelector selector;
  10. PParser* parser;
  11. PLexer* mainLexer;
  12. int main(int argc,char** argv)
  13. {
  14. try {
  15. // attach java lexer to the input stream,
  16. mainLexer = new PLexer(cin);
  17. // notify selector about starting lexer; name for convenience
  18. selector.addInputStream(mainLexer, "main");
  19. selector.select("main"); // start with main P lexer
  20. // Create parser attached to selector
  21. parser = new PParser(selector);
  22. // Parse the input language: P
  23. parser->setFilename("<stdin>");
  24. parser->startRule();
  25. }
  26. catch(exception& e) {
  27. cerr << "exception: " << e.what() << endl;
  28. // e.printStackTrace(System.err);   // so we can get stack trace
  29. }
  30. }