#include #include #include "lex.h" // Lexical Analyzer Driver int main (int argc, char *argv[]) { int cLine = 0; // count of line number char szSrc[256]; // source line int rgiw[12]; // pointers to tokens unsigned int fError; // flag for syntax error FILE *pIfil; // file pointer int i; if ((pIfil = fopen (*++argv, "r")) == NULL) { printf ("File does not exist\n"); exit (1); } printf ("Line# rgiw\n "); for (i = 0; i < 12; i++) printf ("[%3u]", i); printf ("\n\n"); while ((fgets (szSrc, 256, pIfil)) != NULL) { printf ("%5u ",++cLine); fError = FGetTokens (szSrc, rgiw); if (fError) printf (" Syntax Error\n"); else { for (i = 0; i < 12; i++) printf ("%3d ", *(rgiw + i)); printf ("\n"); } } fclose (pIfil); return 0; }