diff options
Diffstat (limited to 'contrib/pgbench/exprscan.l')
| -rw-r--r-- | contrib/pgbench/exprscan.l | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/contrib/pgbench/exprscan.l b/contrib/pgbench/exprscan.l index 4c9229cd9c..6e3331d908 100644 --- a/contrib/pgbench/exprscan.l +++ b/contrib/pgbench/exprscan.l @@ -4,7 +4,7 @@ * exprscan.l * a lexical scanner for a simple expression syntax * - * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * *------------------------------------------------------------------------- @@ -17,10 +17,6 @@ static int yyline = 0, yycol = 0; static YY_BUFFER_STATE scanbufhandle; static char *scanbuf; static int scanbuflen; - -/* flex 2.5.4 doesn't bother with a decl for this */ -int expr_yylex(void); - %} %option 8bit @@ -32,7 +28,6 @@ int expr_yylex(void); %option warn %option prefix="expr_yy" -non_newline [^\n\r] space [ \t\r\f] %% @@ -44,15 +39,24 @@ space [ \t\r\f] "%" { yycol += yyleng; return '%'; } "(" { yycol += yyleng; return '('; } ")" { yycol += yyleng; return ')'; } -:[a-zA-Z0-9_]+ { yycol += yyleng; yylval.str = pg_strdup(yytext + 1); return VARIABLE; } -[0-9]+ { yycol += yyleng; yylval.ival = strtoint64(yytext); return INTEGER; } + +:[a-zA-Z0-9_]+ { + yycol += yyleng; + yylval.str = pg_strdup(yytext + 1); + return VARIABLE; + } +[0-9]+ { + yycol += yyleng; + yylval.ival = strtoint64(yytext); + return INTEGER; + } [\n] { yycol = 0; yyline++; } -{space} { yycol += yyleng; /* ignore */ } +{space}+ { yycol += yyleng; /* ignore */ } . { yycol += yyleng; - fprintf(stderr, "unexpected character '%s'\n", yytext); + fprintf(stderr, "unexpected character \"%s\"\n", yytext); return CHAR_ERROR; } %% @@ -64,7 +68,6 @@ yyerror(const char *message) * so the interesting location information is the column number */ fprintf(stderr, "%s at column %d\n", message, yycol); /* go on to raise the error from pgbench with more information */ - /* exit(1); */ } /* |
