main.c 867 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef NORCSID
  2. static char rcsid[]= "$Header$";
  3. #endif
  4. #include <stdio.h>
  5. char *filename;
  6. main(argc,argv) char **argv; {
  7. extern int nerrors;
  8. extern int code_in_c;
  9. extern int tabledebug;
  10. extern int verbose;
  11. while (argc >1 && argv[1][0]=='-') {
  12. switch(argv[1][1]) {
  13. case 'c':
  14. code_in_c = 0;
  15. break;
  16. case 'd':
  17. tabledebug++;
  18. break;
  19. case 'v':
  20. verbose++;
  21. break;
  22. default:
  23. error("Unknown flag -%c",argv[1][1]);
  24. }
  25. argc--; argv++;
  26. }
  27. if (argc==2) {
  28. if (freopen(argv[1],"r",stdin)==NULL) {
  29. error("Can't open %s",argv[1]);
  30. exit(-1);
  31. }
  32. filename = argv[1];
  33. } else
  34. error("Usage: %s [-c] [-d] [-v] table",argv[0]);
  35. initemhash();
  36. enterkeyw();
  37. initnodes();
  38. initio();
  39. yyparse();
  40. if (nerrors==0) {
  41. finishio();
  42. statistics();
  43. if (verbose)
  44. hallverbose();
  45. } else {
  46. errorexit();
  47. }
  48. return(nerrors==0 ? 0 : -1);
  49. }