X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser.re;h=d4a25d2a5592e901881d18a56022a59edda168b3;hp=08478bcd3659e63699904dddd3a1bc3ed8a2c557;hb=14c98cac21b8102d1d4c2a57744f6976ea3a0849;hpb=ea0162a1698563a49de50456cd3f2cc18b83a05e diff --git a/src/parser.re b/src/parser.re index 08478bc..d4a25d2 100644 --- a/src/parser.re +++ b/src/parser.re @@ -141,6 +141,9 @@ void PSI_ParserFree(PSI_Parser **P) #define RETURN(t) do { \ P->num = t; \ + if (P->flags & PSI_PARSER_DEBUG) { \ + fprintf(stderr, "PSI> TOKEN: %d %.*s (EOF=%d)\n", P->num, (int) (P->cur-P->tok), P->tok, P->num == PSI_T_EOF); \ + } \ return t; \ } while(1) @@ -154,7 +157,7 @@ token_t PSI_ParserScan(PSI_Parser *P) re2c:define:YYCURSOR = P->cur; re2c:define:YYLIMIT = P->lim; re2c:define:YYMARKER = P->mrk; - re2c:define:YYFILL = "{ if (!PSI_ParserFill(P,@@)) RETURN(-1); }"; + re2c:define:YYFILL = "{ if (!PSI_ParserFill(P,@@)) RETURN(PSI_T_EOF); }"; re2c:yyfill:parameter = 0; B = [^a-zA-Z0-9_];