aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/parser/scan.l17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index 8b0952103e7..6fe3af8369c 100644
--- a/src/backend/parser/scan.l
+++ b/src/backend/parser/scan.l
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.38 1998/04/08 06:35:00 thomas Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.39 1998/05/09 23:15:20 thomas Exp $
*
*-------------------------------------------------------------------------
*/
@@ -148,12 +148,13 @@ self [,()\[\].;$\:\+\-\*\/\<\>\=\|]
op_and_self [\~\!\@\#\%\^\&\|\`\?\$\:\+\-\*\/\<\>\=]
operator {op_and_self}+
-xminteger {integer}/-
-xmreal {real}/{space}*-{digit}
xmstop -
-integer -?{digit}+
-real -?{digit}+\.{digit}+([Ee][-+]?{digit}+)?
+integer [\-]?{digit}+
+/*
+real [\-]?{digit}+\.{digit}+([Ee][-+]?{digit}+)?
+*/
+real [\-]?(((({digit}*\.{digit}+)|({digit}+\.{digit}*))([Ee][-+]?{digit}+)?)|({digit}+[Ee][-+]?{digit}+))
param \${integer}
@@ -291,7 +292,8 @@ other .
{typecast} { return TYPECAST; }
-{self}/-[\.0-9] {
+{self}/{space}*-[\.0-9] {
+ BEGIN(xm);
return (yytext[0]);
}
{self} { return (yytext[0]); }
@@ -311,6 +313,7 @@ other .
return (PARAM);
}
+
{identifier}/{space}*-{number} {
int i;
ScanKeyword *keyword;
@@ -386,6 +389,8 @@ other .
CheckFloat8Val(yylval.dval);
return (FCONST);
}
+
+
{identifier} {
int i;
ScanKeyword *keyword;