|
12 | 12 | *
|
13 | 13 | *
|
14 | 14 | * IDENTIFICATION
|
15 |
| - * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.135 2005/02/02 15:37:43 meskes Exp $ |
| 15 | + * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.136 2005/06/16 01:43:48 momjian Exp $ |
16 | 16 | *
|
17 | 17 | *-------------------------------------------------------------------------
|
18 | 18 | */
|
@@ -139,8 +139,9 @@ xqstart{quote}
|
139 | 139 | xqstop{quote}
|
140 | 140 | xqdouble{quote}{quote}
|
141 | 141 | xqinside[^\\']+
|
142 |
| -xqescape [\\][^0-7] |
143 |
| -xqoctesc [\\][0-7]{1,3} |
| 142 | +xqescape[\\][^0-7] |
| 143 | +xqoctesc[\\][0-7]{1,3} |
| 144 | +xqhexesc[\\]x[0-9A-Fa-f]{1,2} |
144 | 145 | xqcat{quote}{whitespace_with_newline}{quote}
|
145 | 146 |
|
146 | 147 | /* $foo$ style quotes ("dollar quoting")
|
@@ -400,7 +401,8 @@ cppline{space}*#(.*\\{space})*.*{newline}
|
400 | 401 | <xq>{xqdouble}{addlitchar('\''); }
|
401 | 402 | <xq>{xqinside}{addlit(yytext, yyleng); }
|
402 | 403 | <xq>{xqescape} {addlit(yytext, yyleng); }
|
403 |
| -<xq>{xqoctesc} {addlit(yytext, yyleng); } |
| 404 | +<xq>{xqoctesc}{addlit(yytext, yyleng); } |
| 405 | +<xq>{xqhexesc}{addlit(yytext, yyleng); } |
404 | 406 | <xq>{xqcat}{/* ignore */ }
|
405 | 407 | <xq>. {
|
406 | 408 | /* This is only needed for \ just before EOF */
|
|