|
|
@ -0,0 +1,73 @@ |
|
|
|
--- ./tc/emp_ematch.l.orig 2007-05-16 16:23:48.000000000 +0200
|
|
|
|
+++ ./tc/emp_ematch.l 2007-05-16 16:24:21.000000000 +0200
|
|
|
|
@@ -63,7 +63,7 @@
|
|
|
|
|
|
|
|
%} |
|
|
|
|
|
|
|
-%x str
|
|
|
|
+%x x_str
|
|
|
|
|
|
|
|
%option 8bit stack warn noyywrap prefix="ematch_" |
|
|
|
%% |
|
|
|
@@ -78,17 +78,17 @@
|
|
|
|
} |
|
|
|
strbuf_index = 0; |
|
|
|
|
|
|
|
- BEGIN(str);
|
|
|
|
+ BEGIN(x_str);
|
|
|
|
} |
|
|
|
|
|
|
|
-<str>\" {
|
|
|
|
+<x_str>\" {
|
|
|
|
BEGIN(INITIAL); |
|
|
|
yylval.b = bstr_new(strbuf, strbuf_index); |
|
|
|
yylval.b->quoted = 1; |
|
|
|
return ATTRIBUTE; |
|
|
|
} |
|
|
|
|
|
|
|
-<str>\\[0-7]{1,3} { /* octal escape sequence */
|
|
|
|
+<x_str>\\[0-7]{1,3} { /* octal escape sequence */
|
|
|
|
int res; |
|
|
|
|
|
|
|
sscanf(yytext + 1, "%o", &res); |
|
|
|
@@ -100,12 +100,12 @@
|
|
|
|
strbuf_append_char((unsigned char) res); |
|
|
|
} |
|
|
|
|
|
|
|
-<str>\\[0-9]+ { /* catch wrong octal escape seq. */
|
|
|
|
+<x_str>\\[0-9]+ { /* catch wrong octal escape seq. */
|
|
|
|
fprintf(stderr, "error: invalid octale escape sequence\n"); |
|
|
|
return ERROR; |
|
|
|
} |
|
|
|
|
|
|
|
-<str>\\x[0-9a-fA-F]{1,2} {
|
|
|
|
+<x_str>\\x[0-9a-fA-F]{1,2} {
|
|
|
|
int res; |
|
|
|
|
|
|
|
sscanf(yytext + 2, "%x", &res); |
|
|
|
@@ -118,16 +118,16 @@
|
|
|
|
strbuf_append_char((unsigned char) res); |
|
|
|
} |
|
|
|
|
|
|
|
-<str>\\n strbuf_append_char('\n');
|
|
|
|
-<str>\\r strbuf_append_char('\r');
|
|
|
|
-<str>\\t strbuf_append_char('\t');
|
|
|
|
-<str>\\v strbuf_append_char('\v');
|
|
|
|
-<str>\\b strbuf_append_char('\b');
|
|
|
|
-<str>\\f strbuf_append_char('\f');
|
|
|
|
-<str>\\a strbuf_append_char('\a');
|
|
|
|
+<x_str>\\n strbuf_append_char('\n');
|
|
|
|
+<x_str>\\r strbuf_append_char('\r');
|
|
|
|
+<x_str>\\t strbuf_append_char('\t');
|
|
|
|
+<x_str>\\v strbuf_append_char('\v');
|
|
|
|
+<x_str>\\b strbuf_append_char('\b');
|
|
|
|
+<x_str>\\f strbuf_append_char('\f');
|
|
|
|
+<x_str>\\a strbuf_append_char('\a');
|
|
|
|
|
|
|
|
-<str>\\(.|\n) strbuf_append_char(yytext[1]);
|
|
|
|
-<str>[^\\\n\"]+ strbuf_append_charp(yytext);
|
|
|
|
+<x_str>\\(.|\n) strbuf_append_char(yytext[1]);
|
|
|
|
+<x_str>[^\\\n\"]+ strbuf_append_charp(yytext);
|
|
|
|
|
|
|
|
[aA][nN][dD] return AND; |
|
|
|
[oO][rR] return OR; |