#include #include #include #include #include "symboltables.h" #include "scanner.h" #include "interpreter.h" #include "expression.h" #include "statement.h" int main(int argc, char *argv[]){ int it; printf("\n"); printf("Pascal-S Compiler/Interpreter v0.04\n"); printf(" v0.01: Nikolas Wirth\n"); printf(" v0.02: Scott Moore\n"); printf(" v0.03: Ozz Nixon\n"); printf(" v0.04: Dan Lain & Shane Hanlon (C Conversion)\n"); printf("\n"); if(argc != 2){ printf("usage: cpas filename\n"); exit(1); } strcpy(srcfilname, argv[1]); srcfil = fopen(argv[1], "r"); if(!srcfil){ printf("file \"%s\"could not be opened\n",srcfilname); exit(1); } for(it=0; it<=ermax; it++) errs[it] = -1; printf("Phase I {parsing}\n"); compile(); if ( errs[0] == -1 ){ printf(" (eof) \n"); inPas=1; printf("Phase II {running}\n"); interpret(); } else errormsg(); fclose(srcfil); }// end main