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

编译器/解释器

开发平台:

Others

  1. /* we must define ANTLRTokenType, but it will be different for parsers A and B;
  2.  * so, we just define it as an 'int', which is bad, but we can do nothing
  3.  * else.
  4.  */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include "A/tokens.h"
  8. #include "A.h"
  9. #include "B.h"
  10. #include "ALexer.h"
  11. #include "BLexer.h"
  12. #include "PBlackBox.h"
  13. typedef ANTLRCommonToken ANTLRToken;
  14. int main(int argc, char *argv[])
  15. {
  16. ANTLRToken aToken; /* create a token to fill in for DLG */
  17. DLGFileInput in(stdin);
  18. if ( argc!=3 ) {
  19.     fprintf(stderr, "usage: t file1 file2n");
  20. //
  21. //  7-Apr-97 MR1
  22. //
  23. //// MR1    exit(EXIT_SUCCESS);
  24.     exit(PCCTS_EXIT_SUCCESS); //// MR1
  25. }
  26. ParserBlackBox<ALexer, A, ANTLRToken> p1(argv[1]);
  27. p1.parser()->e();
  28. ParserBlackBox<BLexer, B, ANTLRToken> p2(argv[2]);
  29. p2.parser()->e();
  30. /*
  31. ALexer scan1(&in,2000);
  32. ANTLRTokenBuffer pipe1(&scan1);
  33. scan1.setToken(&aToken);
  34. A parser1(&pipe1);
  35. parser1.init();
  36. parser1.e();
  37. BLexer scan2(&in,2000);
  38. ANTLRTokenBuffer pipe2(&scan2);
  39. scan2.setToken(&aToken);
  40. B parser2(&pipe2);
  41. parser2.init();
  42. parser2.e();
  43. */
  44. return 0;
  45. }