1212 *
1313 *
1414 * IDENTIFICATION
15- * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.116 2003/06/17 07:28:22 meskes Exp $
15+ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.117 2003/06/20 15:16:06 meskes Exp $
1616 *
1717 *-------------------------------------------------------------------------
1818*/
@@ -179,12 +179,12 @@ xcstop\*+\/
179179xcinside [^ */ ]+
180180
181181digit [0 -9 ]
182- letter [ \200 - \377 _A - Za -z ]
183- letter_or_digit [ \200 -\377 _A - Za - z0 - 9 ]
182+ ident_start [ A - Za -z \200 - \377 _ ]
183+ ident_cont [ A - Za - z \200 -\377 _0 - 9 \$ ]
184184
185- identifier {letter }{ letter_or_digit }*
185+ identifier {ident_start }{ ident_cont }*
186186
187- array ({letter_or_digit }| [\+\-\*\%\/\(\) ])*
187+ array ({ident_cont }| [\+\-\*\%\/\(\) ])*
188188typecast " ::"
189189
190190/*
@@ -197,8 +197,8 @@ typecast"::"
197197 * If you change either set, adjust the character lists appearing in the
198198 * rule for "operator"!
199199 */
200- self [,() \[\] .;$ \:\+\-\*\/\%\^\<\>\= ]
201- op_chars [\~\!\@\#\^\&\|\`\?\$\ +\-\*\/\%\<\>\= ]
200+ self [,() \[\] .; \:\+\-\*\/\%\^\<\>\= ]
201+ op_chars [\~\!\@\#\^\&\|\`\?\+\-\*\/\%\<\>\= ]
202202operator {op_chars }+
203203
204204/* we no longer allow unary minus in numbers.
@@ -474,7 +474,7 @@ cppline{space}*#(.*\\{space})+.*
474474
475475for (ic = nchars-2 ; ic >=0 ; ic--)
476476{
477- if (strchr (" ~!@#^&|`?$ %" , yytext[ic]))
477+ if (strchr (" ~!@#^&|`?%" , yytext[ic]))
478478break ;
479479}
480480if (ic >=0 )
@@ -493,7 +493,7 @@ cppline{space}*#(.*\\{space})+.*
493493 * that the "self" rule would have.
494494 */
495495if (nchars ==1 &&
496- strchr (" ,()[].;$ :+-*/%^<>=" , yytext[0 ]))
496+ strchr (" ,()[].;:+-*/%^<>=" , yytext[0 ]))
497497return yytext[0 ];
498498}
499499
@@ -862,7 +862,7 @@ cppline{space}*#(.*\\{space})+.*
862862else
863863BEGIN (xskip);
864864}
865- <C ,xskip >{informix_special }{endif }{space }* {
865+ <C ,xskip >{informix_special }{endif }{space }* " ; " {
866866/* are we simulating Informix? */
867867if (compat == ECPG_COMPAT_INFORMIX)
868868 {