From da5523c79f85b41beed3cb155ea7ecd90a1e833f Mon Sep 17 00:00:00 2001 From: helly Date: Mon, 17 Nov 2008 18:47:17 +0000 Subject: [PATCH] - Do not translate config values --- re2c/code.cc | 8 ++++++++ re2c/test/config11.ei.c | 25 +++++++++++++++++++++++++ re2c/test/config11.ei.re | 17 +++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100755 re2c/test/config11.ei.c create mode 100755 re2c/test/config11.ei.re diff --git a/re2c/code.cc b/re2c/code.cc index a64889a0..f239f8b9 100644 --- a/re2c/code.cc +++ b/re2c/code.cc @@ -2296,7 +2296,15 @@ void Scanner::config(const Str& cfg, const Str& val) && (val.str[0] == '"' || val.str[0] == '\'')) { SubStr tmp(val.str + 1, val.len - 2); + if (eFlag) { + re2c::xlat = asc2asc; + re2c::talx = asc2asc; + } unescape(tmp, strVal); + if (eFlag) { + re2c::xlat = asc2ebc; + re2c::talx = ebc2asc; + } } else { diff --git a/re2c/test/config11.ei.c b/re2c/test/config11.ei.c new file mode 100755 index 00000000..9f0e26f3 --- /dev/null +++ b/re2c/test/config11.ei.c @@ -0,0 +1,25 @@ +/* Generated by re2c */ +unsigned char scan(const unsigned char *s) +{ + unsigned char* cr; + unsigned char ch; + +{ + unsigned char ch; + + ch = *cr; + switch (ch) { + case 'a': goto yy3; + case 'b': goto yy5; + default: goto yy2; + } +yy2: +yy3: + ++cr; + return 'a'; +yy5: + ++cr; + return 'b'; +} + +} diff --git a/re2c/test/config11.ei.re b/re2c/test/config11.ei.re new file mode 100755 index 00000000..0f7f2afb --- /dev/null +++ b/re2c/test/config11.ei.re @@ -0,0 +1,17 @@ +unsigned char scan(const unsigned char *s) +{ + unsigned char* cr; + unsigned char ch; +/*!re2c + +re2c:define:YYCTYPE = "unsigned char"; +re2c:define:YYCURSOR = cr; +re2c:define:YYFILL = fill; +re2c:variable:yych = ch; +re2c:yyfill:enable = 0; + +'a' := return 'a'; +'b' := return 'b'; + +*/ +} -- 2.40.0