/*#define STANDALONE*/
+#include "common.h"
+
#ifndef YACCDBG
#include <stdio.h>
#endif
+FILE *infile, *outfile;
+#define getchar() fgetc(infile)
+
/* hack the original tables to work with both petscii and ascii */
#define CHARSETHACK
extern char *yysptr, yysbuf[];
int yytchar;
-/*FILE *yyin ={stdin}, *yyout ={stdout};*/
#define yyin infile
#define yyout outfile
}
# ifdef LEXDEBUG
- if((*(lsp-1)-yysvec-1)<0)
+ if (lsp == yylstate)
{
fprintf(yyout,"yylook: stopped (end)\n");
}
else
{
- fprintf(yyout,"yylook: stopped at %d with\n",*(lsp-1)-yysvec-1);
+ fprintf(yyout,"yylook: stopped at %d with:\n",*(lsp-1)-(yysvec+1));
}
# endif
while (lsp-- > yylstate)
yyleng = yylastch-yytext+1;
yytext[yyleng] = 0;
# ifdef LEXDEBUG
- fprintf(yyout,"\nyylook: match action %d\n",*yyfnd);
+ fprintf(yyout,"yylook: match action %d\n",*yyfnd);
fprintf(yyout,"yylook: done loops: %d\n",testbreak);
# endif
return(*yyfnd++);
main()
{
printf("main start\n");
+ infile = fopen("yacc.in","rb");
+ if (infile == NULL) {
+ return EXIT_FAILURE;
+ }
+ outfile = stdout;
yyparse();
+ fclose(infile);
printf("main end\n");
return 0;
}