diff --git a/contrib/cube/cubescan.l b/contrib/cube/cubescan.l index c5e1a20f6b..a47dc4334a 100644 --- a/contrib/cube/cubescan.l +++ b/contrib/cube/cubescan.l @@ -26,6 +26,7 @@ void cube_scanner_finish(void); %option 8bit %option never-interactive +%option nodefault %option nounput %option noyywrap %option prefix="cube_yy" @@ -44,7 +45,7 @@ float ({integer}|{real})([eE]{integer})? \( yylval = "("; return O_PAREN; \) yylval = ")"; return C_PAREN; \, yylval = ")"; return COMMA; -[ ]+ /* discard spaces */ +[ \t\n\r\f]+ /* discard spaces */ . return yytext[0]; /* alert parser of the garbage */ %% diff --git a/contrib/seg/segscan.l b/contrib/seg/segscan.l index 21eb5fa020..b2a3bbe684 100644 --- a/contrib/seg/segscan.l +++ b/contrib/seg/segscan.l @@ -25,6 +25,7 @@ void seg_scanner_finish(void); %option 8bit %option never-interactive +%option nodefault %option nounput %option noyywrap %option prefix="seg_yy" @@ -44,7 +45,7 @@ float ({integer}|{real})([eE]{integer})? \< yylval.text = "<"; return EXTENSION; \> yylval.text = ">"; return EXTENSION; \~ yylval.text = "~"; return EXTENSION; -[ ]+ /* discard spaces */ +[ \t\n\r\f]+ /* discard spaces */ . return yytext[0]; /* alert parser of the garbage */ %% diff --git a/contrib/tsearch/parser.l b/contrib/tsearch/parser.l index 17ac21dcd1..3eb411dded 100644 --- a/contrib/tsearch/parser.l +++ b/contrib/tsearch/parser.l @@ -16,6 +16,7 @@ YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */ %option 8bit %option never-interactive +%option nodefault %option nounput %option noyywrap diff --git a/contrib/tsearch2/wordparser/parser.l b/contrib/tsearch2/wordparser/parser.l index e36c19355c..e80f5fea90 100644 --- a/contrib/tsearch2/wordparser/parser.l +++ b/contrib/tsearch2/wordparser/parser.l @@ -18,6 +18,7 @@ YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */ %option 8bit %option never-interactive +%option nodefault %option nounput %option noyywrap diff --git a/src/backend/bootstrap/bootscanner.l b/src/backend/bootstrap/bootscanner.l index 6d3081695f..d8f683596d 100644 --- a/src/backend/bootstrap/bootscanner.l +++ b/src/backend/bootstrap/bootscanner.l @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/bootstrap/bootscanner.l,v 1.32 2003/11/29 19:51:41 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/bootstrap/bootscanner.l,v 1.33 2004/02/24 22:06:32 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -53,6 +53,7 @@ static int yyline; /* keep track of the line number for error reporting */ %option 8bit %option never-interactive +%option nodefault %option nounput %option noyywrap diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l index df89572260..eb5f0c7f07 100644 --- a/src/backend/utils/misc/guc-file.l +++ b/src/backend/utils/misc/guc-file.l @@ -4,7 +4,7 @@ * * Copyright (c) 2000-2003, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.20 2003/11/29 19:52:03 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.21 2004/02/24 22:06:32 tgl Exp $ */ %{ @@ -47,6 +47,7 @@ char *GUC_scanstr(char *); %option 8bit %option never-interactive +%option nodefault %option nounput %option noyywrap diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index 264f93f847..376c87c73b 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.125 2004/02/15 13:48:54 meskes Exp $ + * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.126 2004/02/24 22:06:32 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -70,6 +70,7 @@ static struct _if_value %option 8bit %option never-interactive +%option nodefault %option noyywrap %option yylineno diff --git a/src/pl/plpgsql/src/scan.l b/src/pl/plpgsql/src/scan.l index 62a7880c6c..b891e2b9e1 100644 --- a/src/pl/plpgsql/src/scan.l +++ b/src/pl/plpgsql/src/scan.l @@ -4,7 +4,7 @@ * procedural language * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.30 2003/11/29 19:52:12 pgsql Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.31 2004/02/24 22:06:32 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -63,6 +63,7 @@ int plpgsql_SpaceScanned = 0; %option 8bit %option never-interactive +%option nodefault %option nounput %option noyywrap @@ -272,6 +273,7 @@ dump { return O_DUMP; } BEGIN IN_STRING; } \\. { } +\\ { /* can only happen with \ at EOF */ } '' { } ' { yyleng -= (yytext - start_charpos); @@ -279,13 +281,13 @@ dump { return O_DUMP; } BEGIN INITIAL; return T_STRING; } +[^'\\]+ { } <> { plpgsql_error_lineno = start_lineno; ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), errmsg("unterminated string"))); } -[^'\\]* { } /* ---------- * Any unmatched character is returned as is