diff options
Diffstat (limited to 'contrib/seg/segscan.l')
-rw-r--r-- | contrib/seg/segscan.l | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/contrib/seg/segscan.l b/contrib/seg/segscan.l index 5f6595e9eb..4744fd5e9e 100644 --- a/contrib/seg/segscan.l +++ b/contrib/seg/segscan.l @@ -1,8 +1,18 @@ -%{ +%top{ /* * A scanner for EMP-style numeric ranges */ +#include "postgres.h" + +/* + * NB: include segparse.h only AFTER including segdata.h, because segdata.h + * contains the definition for SEG. + */ +#include "segdata.h" +#include "segparse.h" +} +%{ /* LCOV_EXCL_START */ /* No reason to constrain amount of data slurped */ @@ -21,7 +31,6 @@ fprintf_to_ereport(const char *fmt, const char *msg) /* Handles to the buffer that the lexer uses internally */ static YY_BUFFER_STATE scanbufhandle; static char *scanbuf; -static int scanbuflen; %} %option 8bit @@ -42,12 +51,12 @@ float ({integer}|{real})([eE]{integer})? %% -{range} yylval.text = yytext; return RANGE; -{plumin} yylval.text = yytext; return PLUMIN; -{float} yylval.text = yytext; return SEGFLOAT; -\< yylval.text = "<"; return EXTENSION; -\> yylval.text = ">"; return EXTENSION; -\~ yylval.text = "~"; return EXTENSION; +{range} seg_yylval.text = yytext; return RANGE; +{plumin} seg_yylval.text = yytext; return PLUMIN; +{float} seg_yylval.text = yytext; return SEGFLOAT; +\< seg_yylval.text = "<"; return EXTENSION; +\> seg_yylval.text = ">"; return EXTENSION; +\~ seg_yylval.text = "~"; return EXTENSION; [ \t\n\r\f]+ /* discard spaces */ . return yytext[0]; /* alert parser of the garbage */ @@ -56,7 +65,7 @@ float ({integer}|{real})([eE]{integer})? /* LCOV_EXCL_STOP */ void -yyerror(SEG *result, const char *message) +seg_yyerror(SEG *result, const char *message) { if (*yytext == YY_END_OF_BUFFER_CHAR) { @@ -94,7 +103,6 @@ seg_scanner_init(const char *str) /* * Make a scan buffer with special termination needed by flex. */ - scanbuflen = slen; scanbuf = palloc(slen + 2); memcpy(scanbuf, str, slen); scanbuf[slen] = scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR; |