Sun May 23 11:19:32 CEST 1999
- Add braces around each statement so that a simple if/else works.
+
+Thu Jun 10 21:09:12 CEST 1999
+
+ - Fixed typo in preproc.y.
+ - Synced pgc.l with scan.l.
- Set library version to 3.0.0
- Set ecpg version to 2.6.0
xmstop -
integer [\-]?{digit}+
+decimal [\-]?(({digit}*\.{digit}+)|({digit}+\.{digit}*))
+real [\-]?((({digit}*\.{digit}+)|({digit}+\.{digit}*)|({digit}+))([Ee][-+]?{digit}+))
/*
-real [\-]?{digit}+\.{digit}+([Ee][-+]?{digit}+)?
-*/
real [\-]?(((({digit}*\.{digit}+)|({digit}+\.{digit}*))([Ee][-+]?{digit}+)?)|({digit}+[Ee][-+]?{digit}+))
+*/
param \${integer}
if (*endptr != '\0' || errno == ERANGE)
{
errno = 0;
+#if 0
yylval.dval = strtod(((char *)yytext),&endptr);
if (*endptr != '\0' || errno == ERANGE)
yyerror("ERROR: Bad integer input");
yyerror("WARNING: Integer input is out of range; promoted to float");
return FCONST;
+#endif
+ yylval.str = mm_strdup((char*)yytext);
+ return SCONST;
}
return ICONST;
}
+{decimal}/{space}*-{number} {
+ char* endptr;
+
+ BEGIN(xm);
+ if (strlen((char *)yytext) <= 17)
+ {
+ errno = 0;
+ yylval.dval = strtod(((char *)yytext),&endptr);
+ if (*endptr != '\0' || errno == ERANGE)
+ yyerror("ERROR: Bad float8 input");
+ return FCONST;
+ }
+ yylval.str = mm_strdup((char*)yytext);
+ return SCONST;
+ }
+
{real}/{space}*-{number} {
char* endptr;
if (*endptr != '\0' || errno == ERANGE)
{
errno = 0;
+#if 0
yylval.dval = strtod(((char *)yytext),&endptr);
if (*endptr != '\0' || errno == ERANGE)
yyerror("ERROR: Bad integer input");
yyerror("WARNING: Integer input is out of range; promoted to float");
return FCONST;
+#endif
+ yylval.str = mm_strdup((char*)yytext);
+ return SCONST;
}
return ICONST;
}
+{decimal} {
+ char* endptr;
+
+ if (strlen((char *)yytext) <= 17)
+ {
+ errno = 0;
+ yylval.dval = strtod((char *)yytext,&endptr);
+ if (*endptr != '\0' || errno == ERANGE)
+ yyerror("ERROR: Bad float8 input");
+ return FCONST;
+ }
+ yylval.str = mm_strdup((char*)yytext);
+ return SCONST;
+ }
{real} {
char* endptr;
{ $$ = cat3_str($1, make1_str(","), $3); }
;
-group_clause: GROUP BY expr_list { $$ = cat2_str(make1_str("groub by"), $3); }
+group_clause: GROUP BY expr_list { $$ = cat2_str(make1_str("group by"), $3); }
| /*EMPTY*/ { $$ = make1_str(""); }
;