From d41041d21ee7cdb26cd59565e42cc29412daa157 Mon Sep 17 00:00:00 2001 From: John Naylor Date: Sun, 30 Sep 2018 13:04:32 +0700 Subject: [PATCH v1 2/4] Prepatory refactoring for next commit. The next patch needs to do some rearrangements for it to work, but makes the patch hard to read, so put them in a separate patch. --- src/interfaces/ecpg/preproc/pgc.l | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index b96f17ca20..421c62339b 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -399,20 +399,20 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ /* ignore */ } -{xcstart} { +{xcstart} { token_start = yytext; state_before = YYSTATE; xcdepth = 0; - BEGIN(xcc); + BEGIN(xcsql); /* Put back any characters past slash-star; see above */ yyless(2); fputs("/*", yyout); } -{xcstart} { +{xcstart} { token_start = yytext; state_before = YYSTATE; xcdepth = 0; - BEGIN(xcsql); + BEGIN(xcc); /* Put back any characters past slash-star; see above */ yyless(2); fputs("/*", yyout); @@ -496,6 +496,12 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ } <> { mmfatal(PARSE_ERROR, "unterminated hexadecimal string literal"); } +{xqstart} { + token_start = yytext; + state_before = YYSTATE; + BEGIN(xqc); + startlit(); + } {xnstart} { /* National character. * Transfer it as-is to the backend. @@ -505,12 +511,6 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ BEGIN(xn); startlit(); } -{xqstart} { - token_start = yytext; - state_before = YYSTATE; - BEGIN(xqc); - startlit(); - } {xqstart} { token_start = yytext; state_before = YYSTATE; @@ -804,6 +804,10 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ base_yylval.ival = atol(yytext+1); return PARAM; } +{ip} { + base_yylval.str = mm_strdup(yytext); + return IP; + } {integer} { int val; char* endptr; @@ -819,10 +823,6 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ base_yylval.ival = val; return ICONST; } -{ip} { - base_yylval.str = mm_strdup(yytext); - return IP; - } {decimal} { base_yylval.str = mm_strdup(yytext); return FCONST; -- 2.17.1