diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index 5091149e609388b58c38268b929be8596cda3b19..0f33ca774a7f8d1fe8f28c2e5379da0b9844f5aa 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.55 1999/09/27 19:40:40 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.56 1999/09/27 21:02:54 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -151,7 +151,7 @@ typecast		"::"
 
 self			[,()\[\].;$\:\+\-\*\/\%\^\<\>\=\|]
 op_and_self		[\~\!\@\#\^\&\|\`\?\$\:\+\-\*\/\%\<\>\=]
-operator		{op_and_self}+
+operator	{op_and_self}|({op_and_self}+[\~\!\@\#\^\&\|\`\?\$\:\+\*\/\%\<\>\=])
 
 /* we do not allow unary minus in numbers. 
  * instead we pass it verbatim to parser. there it gets