From 695d6a38407f63259c655e92b500f3aee2be0cdc Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Fri, 28 Jul 2017 16:08:14 +0100 Subject: [PATCH] Renamed simple tags into 'stags' and tags with history into 'mtags'. YYTAGP -> YYSTAGP YYTAGN -> YYSTAGN YYTAGLISTP -> YYMTAGP YYTAGLISTN -> YYMTAGN /*!tags:re2c ... */ -> /*!stags:re2c ... */ /*!taglists:re2c ... */ -> /*!mtags:re2c ... */ Updated tests and benchmarks. Fixed warning message in '-Wnondeterministic-tags'. --- re2c/benchmarks/http/rfc7230/http_rfc7230.re | 26 +- re2c/benchmarks/http/simple/http_simple.re | 26 +- re2c/benchmarks/uri/rfc3986/uri_rfc3986.re | 6 +- re2c/benchmarks/uri/simple/uri_simple.re | 6 +- re2c/bootstrap/src/ast/lex.cc | 2076 +++++++++-------- re2c/bootstrap/src/ast/lex_conf.cc | 1968 ++++++++-------- re2c/src/adfa/adfa.cc | 4 +- re2c/src/adfa/adfa.h | 2 +- re2c/src/adfa/prepare.cc | 2 +- re2c/src/ast/lex.re | 8 +- re2c/src/ast/lex_conf.re | 8 +- re2c/src/ast/scanner.h | 2 +- re2c/src/code/emit_action.cc | 8 +- re2c/src/code/emit_dfa.cc | 22 +- re2c/src/code/output.cc | 43 +- re2c/src/code/output.h | 16 +- re2c/src/conf/opt.cc | 25 +- re2c/src/conf/opt.h | 8 +- re2c/src/conf/warn.cc | 5 +- re2c/src/dfa/cfg/interfere.cc | 6 +- re2c/src/dfa/cfg/rename.cc | 8 +- re2c/src/dfa/determinization.cc | 8 +- re2c/src/dfa/dfa.h | 2 +- re2c/src/skeleton/generate_code.cc | 140 +- re2c/src/skeleton/skeleton.h | 6 +- re2c/test/posix_captures/.run/template | 2 +- re2c/test/tags/ambiguity/cat1.i--tags.c | 2 +- re2c/test/tags/ambiguity/cat3.i.c | 8 +- re2c/test/tags/ambiguity/cat4.i--tags.c | 2 +- .../bug121_fix_multiple.i--input(custom).c | 2 +- ...g121_fix_multiple.i--tags--input(custom).c | 4 +- .../bug121_var_multiple.i--input(custom).c | 2 +- ...tiple.i--tags--eager-skip--input(custom).c | 4 +- ...g121_var_multiple.i--tags--input(custom).c | 4 +- re2c/test/tags/bug121_var_multiple.i.c | 2 +- .../test/tags/conf1.i--tags--input(custom).re | 6 +- re2c/test/tags/conf1.i--tags.re | 2 +- re2c/test/tags/conf2.i--tags--input(custom).c | 22 +- .../test/tags/conf2.i--tags--input(custom).re | 10 +- re2c/test/tags/conf2.i--tags.re | 6 +- re2c/test/tags/conf3.i--tags--input(custom).c | 24 +- .../test/tags/conf3.i--tags--input(custom).re | 20 +- re2c/test/tags/conf3.i--tags.re | 16 +- re2c/test/tags/copy_coalescing1.i--tags.re | 2 +- re2c/test/tags/copy_coalescing2.i--tags.re | 2 +- re2c/test/tags/copy_save.i--tags.c | 2 +- re2c/test/tags/counter1.i--tags.c | 2 +- re2c/test/tags/fallback4.i--tags.re | 2 +- re2c/test/tags/fallback6.i--tags.re | 2 +- re2c/test/tags/fix2.i--tags.re | 2 +- .../tags/fix2_trail.i--tags--input(custom).c | 14 +- .../tags/fix2_trail.i--tags--input(custom).re | 6 +- re2c/test/tags/fix2_trail.i--tags.re | 2 +- re2c/test/tags/fix3.i--tags.re | 2 +- .../tags/fix3_trail.i--tags--input(custom).c | 94 +- .../tags/fix3_trail.i--tags--input(custom).re | 6 +- re2c/test/tags/fix3_trail.i--tags.re | 2 +- re2c/test/tags/fix4.i--tags.re | 2 +- .../tags/fix4_trail.i--tags--input(custom).c | 22 +- .../tags/fix4_trail.i--tags--input(custom).re | 6 +- re2c/test/tags/fix4_trail.i--tags.re | 2 +- re2c/test/tags/fix5.i--tags.re | 2 +- .../tags/fix5_trail.i--tags--input(custom).c | 28 +- .../tags/fix5_trail.i--tags--input(custom).re | 6 +- re2c/test/tags/fix5_trail.i--tags.re | 2 +- ...tag.i--tags--no-lookahead--input(custom).c | 10 +- .../tags/map_ord1.i--tags--no-lookahead.c | 2 +- re2c/test/tags/map_ord1.i--tags.c | 2 +- .../tags/map_ord2.i--tags--no-lookahead.c | 2 +- re2c/test/tags/map_ord2.i--tags.c | 2 +- ...kip_tags_disorder1.i--tags--no-lookahead.c | 2 +- ...kip_tags_disorder2.i--tags--no-lookahead.c | 4 +- ...kip_tags_disorder4.i--tags--no-lookahead.c | 2 +- re2c/test/tags/topsort1.i--tags.c | 2 +- re2c/test/tags/topsort2.i--tags.c | 4 +- .../tags/topsort3.i--tags--no-lookahead.c | 2 +- re2c/test/tags/twopass.i--tags.c | 10 +- re2c/test/tags/uniq.i--tags.c | 12 +- 78 files changed, 2415 insertions(+), 2420 deletions(-) diff --git a/re2c/benchmarks/http/rfc7230/http_rfc7230.re b/re2c/benchmarks/http/rfc7230/http_rfc7230.re index 32184fd4..b39d747c 100644 --- a/re2c/benchmarks/http/rfc7230/http_rfc7230.re +++ b/re2c/benchmarks/http/rfc7230/http_rfc7230.re @@ -22,8 +22,8 @@ typedef struct { char *cur; char *mar; char *tok; - /*!tags:re2c format = "char *@@;\n"; */ - /*!taglists:re2c format = "taglist_t *@@;\n"; */ + /*!stags:re2c format = "char *@@;\n"; */ + /*!mtags:re2c format = "taglist_t *@@;\n"; */ taglistpool_t tlp; int eof; } input_t; @@ -31,7 +31,7 @@ typedef struct { static void taglistpool_clear(taglistpool_t *tlp, input_t *in) { tlp->next = tlp->head; - /*!taglists:re2c format = "in->@@ = 0;\n"; */ + /*!mtags:re2c format = "in->@@ = 0;\n"; */ } static void taglistpool_init(taglistpool_t *tlp) @@ -83,8 +83,8 @@ static void init_input(input_t *in, const char *fname) in->cur = in->lim; in->mar = in->lim; in->tok = in->lim; - /*!tags:re2c format = "in->@@ = 0;\n"; */ - /*!taglists:re2c format = "in->@@ = 0;\n"; */ + /*!stags:re2c format = "in->@@ = 0;\n"; */ + /*!mtags:re2c format = "in->@@ = 0;\n"; */ taglistpool_init(&in->tlp); in->eof = 0; } @@ -110,7 +110,7 @@ static int fill(input_t *in, size_t need) in->cur -= free; in->mar -= free; in->tok -= free; - /*!tags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ + /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ in->lim += fread(in->lim, 1, free, in->file); if (in->lim < in->buf + SIZE) { in->eof = 1; @@ -137,13 +137,13 @@ static void print_headers(const char *tok, (int)(h5->dist - h4->dist), tok + h4->dist); } -#define YYCTYPE char -#define YYCURSOR in->cur -#define YYMARKER in->mar -#define YYLIMIT in->lim -#define YYTAGLISTP(tl) taglist(&tl, in->tok, in->cur, &in->tlp) -#define YYTAGLISTN(tl) taglist(&tl, in->tok, NULL, &in->tlp) -#define YYFILL(n) if (fill(in, n) != 0) return 2; +#define YYCTYPE char +#define YYCURSOR in->cur +#define YYMARKER in->mar +#define YYLIMIT in->lim +#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp) +#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; static int lex(input_t *in, long *count, long *total) { diff --git a/re2c/benchmarks/http/simple/http_simple.re b/re2c/benchmarks/http/simple/http_simple.re index d4b4613d..bcbbabe0 100644 --- a/re2c/benchmarks/http/simple/http_simple.re +++ b/re2c/benchmarks/http/simple/http_simple.re @@ -22,8 +22,8 @@ typedef struct { char *cur; char *mar; char *tok; - /*!tags:re2c format = "char *@@;\n"; */ - /*!taglists:re2c format = "taglist_t *@@;\n"; */ + /*!stags:re2c format = "char *@@;\n"; */ + /*!mtags:re2c format = "taglist_t *@@;\n"; */ taglistpool_t tlp; int eof; } input_t; @@ -31,7 +31,7 @@ typedef struct { static void taglistpool_clear(taglistpool_t *tlp, input_t *in) { tlp->next = tlp->head; - /*!taglists:re2c format = "in->@@ = 0;\n"; */ + /*!mtags:re2c format = "in->@@ = 0;\n"; */ } static void taglistpool_init(taglistpool_t *tlp) @@ -83,8 +83,8 @@ static void init_input(input_t *in, const char *fname) in->cur = in->lim; in->mar = in->lim; in->tok = in->lim; - /*!tags:re2c format = "in->@@ = 0;\n"; */ - /*!taglists:re2c format = "in->@@ = 0;\n"; */ + /*!stags:re2c format = "in->@@ = 0;\n"; */ + /*!mtags:re2c format = "in->@@ = 0;\n"; */ taglistpool_init(&in->tlp); in->eof = 0; } @@ -110,7 +110,7 @@ static int fill(input_t *in, size_t need) in->cur -= free; in->mar -= free; in->tok -= free; - /*!tags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ + /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ in->lim += fread(in->lim, 1, free, in->file); if (in->lim < in->buf + SIZE) { in->eof = 1; @@ -133,13 +133,13 @@ static void print_headers(const char *tok, (int)(h3->dist - h2->dist), tok + h2->dist); } -#define YYCTYPE char -#define YYCURSOR in->cur -#define YYMARKER in->mar -#define YYLIMIT in->lim -#define YYTAGLISTP(tl) taglist(&tl, in->tok, in->cur, &in->tlp) -#define YYTAGLISTN(tl) taglist(&tl, in->tok, NULL, &in->tlp) -#define YYFILL(n) if (fill(in, n) != 0) return 2; +#define YYCTYPE char +#define YYCURSOR in->cur +#define YYMARKER in->mar +#define YYLIMIT in->lim +#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp) +#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; static int lex(input_t *in, long *count, long *total) { diff --git a/re2c/benchmarks/uri/rfc3986/uri_rfc3986.re b/re2c/benchmarks/uri/rfc3986/uri_rfc3986.re index 15e358cc..0a9c80ff 100644 --- a/re2c/benchmarks/uri/rfc3986/uri_rfc3986.re +++ b/re2c/benchmarks/uri/rfc3986/uri_rfc3986.re @@ -13,7 +13,7 @@ typedef struct { char *cur; char *mar; char *tok; - /*!tags:re2c format = "char *@@;\n"; */ + /*!stags:re2c format = "char *@@;\n"; */ int eof; } input_t; @@ -25,7 +25,7 @@ static void init_input(input_t *in, const char *fname) in->cur = in->lim; in->mar = in->lim; in->tok = in->lim; - /*!tags:re2c format = "in->@@ = 0;\n"; */ + /*!stags:re2c format = "in->@@ = 0;\n"; */ in->eof = 0; } @@ -49,7 +49,7 @@ static int fill(input_t *in, size_t need) in->cur -= free; in->mar -= free; in->tok -= free; - /*!tags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ + /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ in->lim += fread(in->lim, 1, free, in->file); if (in->lim < in->buf + SIZE) { in->eof = 1; diff --git a/re2c/benchmarks/uri/simple/uri_simple.re b/re2c/benchmarks/uri/simple/uri_simple.re index 63a9ea84..24be9148 100644 --- a/re2c/benchmarks/uri/simple/uri_simple.re +++ b/re2c/benchmarks/uri/simple/uri_simple.re @@ -13,7 +13,7 @@ typedef struct { char *cur; char *mar; char *tok; - /*!tags:re2c format = "char *@@;\n"; */ + /*!stags:re2c format = "char *@@;\n"; */ int eof; } input_t; @@ -25,7 +25,7 @@ static void init_input(input_t *in, const char *fname) in->cur = in->lim; in->mar = in->lim; in->tok = in->lim; - /*!tags:re2c format = "in->@@ = 0;\n"; */ + /*!stags:re2c format = "in->@@ = 0;\n"; */ in->eof = 0; } @@ -49,7 +49,7 @@ static int fill(input_t *in, size_t need) in->cur -= free; in->mar -= free; in->tok -= free; - /*!tags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ + /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ in->lim += fread(in->lim, 1, free, in->file); if (in->lim < in->buf + SIZE) { in->eof = 1; diff --git a/re2c/bootstrap/src/ast/lex.cc b/re2c/bootstrap/src/ast/lex.cc index 8fd64dd0..a8297551 100644 --- a/re2c/bootstrap/src/ast/lex.cc +++ b/re2c/bootstrap/src/ast/lex.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Fri Jul 14 21:52:42 2017 */ +/* Generated by re2c 0.16 on Fri Jul 28 12:23:09 2017 */ #line 1 "../src/ast/lex.re" #include "src/util/c99_stdint.h" #include @@ -200,154 +200,154 @@ yy20: case 'i': goto yy23; case 'm': goto yy24; case 'r': goto yy25; - case 't': goto yy26; - case 'u': goto yy27; + case 's': goto yy26; + case 't': goto yy27; + case 'u': goto yy28; default: goto yy13; } yy21: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy28; + if (yych == 'n') goto yy29; goto yy13; yy22: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy29; + if (yych == 'e') goto yy30; goto yy13; yy23: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy30; + if (yych == 'g') goto yy31; goto yy13; yy24: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy31; + if (yych == 'a') goto yy32; + if (yych == 't') goto yy33; goto yy13; yy25: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy32; - if (yych == 'u') goto yy33; + if (yych == 'e') goto yy34; + if (yych == 'u') goto yy35; goto yy13; yy26: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy34; - if (yych == 'y') goto yy35; + if (yych == 't') goto yy36; goto yy13; yy27: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy36; + if (yych == 'y') goto yy37; goto yy13; yy28: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy37; + if (yych == 's') goto yy38; goto yy13; yy29: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy38; + if (yych == 'e') goto yy39; goto yy13; yy30: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy39; + if (yych == 't') goto yy40; goto yy13; yy31: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'x') goto yy40; + if (yych == 'n') goto yy41; goto yy13; yy32: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy41; + if (yych == 'x') goto yy42; goto yy13; yy33: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy42; + if (yych == 'a') goto yy43; goto yy13; yy34: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy43; + if (yych == '2') goto yy44; goto yy13; yy35: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy44; + if (yych == 'l') goto yy45; goto yy13; yy36: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy45; + if (yych == 'a') goto yy46; goto yy13; yy37: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '0') goto yy47; - if (yych <= '9') goto yy13; - goto yy47; + if (yych == 'p') goto yy47; + goto yy13; yy38: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy48; + if (yych == 'e') goto yy48; goto yy13; yy39: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy49; - goto yy13; + if (yych <= '0') goto yy50; + if (yych <= '9') goto yy13; + goto yy50; yy40: yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy50; + if (yych == 's') goto yy51; goto yy13; yy41: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy16; + if (yych == 'o') goto yy52; goto yy13; yy42: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy51; + if (yych == ':') goto yy53; goto yy13; yy43: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy52; - if (yych == 's') goto yy53; + if (yych == 'g') goto yy54; goto yy13; yy44: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy54; + if (yych == 'c') goto yy16; goto yy13; yy45: yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy55; + if (yych == 'e') goto yy55; goto yy13; yy46: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'g') goto yy56; + goto yy13; +yy47: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy57; + goto yy13; +yy48: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == ':') goto yy58; + goto yy13; +yy49: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy47: +yy50: if (yych <= 0x1F) { - if (yych == '\t') goto yy46; + if (yych == '\t') goto yy49; goto yy13; } else { - if (yych <= ' ') goto yy46; + if (yych <= ' ') goto yy49; if (yych <= '0') goto yy13; if (yych <= '9') { YYCTXMARKER = YYCURSOR; - goto yy56; + goto yy59; } goto yy13; } -yy48: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy58; - goto yy13; -yy49: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy59; - goto yy13; -yy50: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy60; - goto yy13; yy51: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy61; + if (yych == 't') goto yy61; goto yy13; yy52: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy62; + if (yych == 'r') goto yy62; goto yy13; yy53: yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy63; + if (yych == 'r') goto yy63; goto yy13; yy54: yych = (YYCTYPE)*++YYCURSOR; @@ -355,48 +355,48 @@ yy54: goto yy13; yy55: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy65; + if (yych == 's') goto yy65; goto yy13; yy56: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy66; + goto yy13; +yy57: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy67; + goto yy13; +yy58: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'r') goto yy68; + goto yy13; +yy59: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { - goto yy56; + goto yy59; } if (yych <= '\f') { if (yych <= 0x08) goto yy13; - if (yych <= '\t') goto yy66; - if (yych <= '\n') goto yy68; + if (yych <= '\t') goto yy69; + if (yych <= '\n') goto yy71; goto yy13; } else { - if (yych <= '\r') goto yy70; - if (yych == ' ') goto yy66; + if (yych <= '\r') goto yy73; + if (yych == ' ') goto yy69; goto yy13; } -yy58: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy71; - goto yy13; -yy59: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy72; - goto yy13; -yy60: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy73; - goto yy13; yy61: yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy74; + if (yych == 'a') goto yy74; goto yy13; yy62: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy75; + if (yych == 'e') goto yy75; goto yy13; yy63: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy76; + if (yych == 'e') goto yy76; goto yy13; yy64: yych = (YYCTYPE)*++YYCURSOR; @@ -404,21 +404,33 @@ yy64: goto yy13; yy65: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy78; + if (yych == ':') goto yy78; goto yy13; yy66: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == ':') goto yy79; + goto yy13; +yy67: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == ':') goto yy80; + goto yy13; +yy68: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy81; + goto yy13; +yy69: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy66; + if (yych == '\t') goto yy69; goto yy13; } else { - if (yych <= ' ') goto yy66; - if (yych == '"') goto yy79; + if (yych <= ' ') goto yy69; + if (yych == '"') goto yy82; goto yy13; } -yy68: +yy71: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 133 "../src/ast/lex.re" @@ -426,34 +438,22 @@ yy68: set_sourceline(); goto echo; } -#line 430 "src/ast/lex.cc" -yy70: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy68; - goto yy13; -yy71: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy81; - goto yy13; -yy72: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy82; - goto yy13; +#line 442 "src/ast/lex.cc" yy73: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy83; + if (yych == '\n') goto yy71; goto yy13; yy74: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy84; + if (yych == 't') goto yy84; goto yy13; yy75: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy85; + if (yych == ':') goto yy85; goto yy13; yy76: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy86; + if (yych == '2') goto yy86; goto yy13; yy77: yych = (YYCTYPE)*++YYCURSOR; @@ -461,41 +461,41 @@ yy77: goto yy13; yy78: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy88; + if (yych == 'r') goto yy88; goto yy13; yy79: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); - yych = (YYCTYPE)*YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy79; - } - if (yych <= '\n') goto yy13; - if (yych <= '"') goto yy89; - goto yy90; -yy81: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy91; + if (yych == 'r') goto yy89; goto yy13; -yy82: +yy80: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy92; + if (yych == 'r') goto yy90; goto yy13; -yy83: +yy81: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy93; + if (yych == '2') goto yy91; goto yy13; +yy82: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); + yych = (YYCTYPE)*YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy82; + } + if (yych <= '\n') goto yy13; + if (yych <= '"') goto yy92; + goto yy93; yy84: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy95; + if (yych == 'e') goto yy94; goto yy13; yy85: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy96; + if (yych == 'r') goto yy95; goto yy13; yy86: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy97; + if (yych == 'c') goto yy96; goto yy13; yy87: yych = (YYCTYPE)*++YYCURSOR; @@ -503,28 +503,40 @@ yy87: goto yy13; yy88: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy99; + if (yych == 'e') goto yy99; goto yy13; yy89: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy68; - if (yych == '\r') goto yy70; + if (yych == 'e') goto yy100; goto yy13; yy90: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy101; + goto yy13; +yy91: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'c') goto yy102; + goto yy13; +yy92: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '\n') goto yy71; + if (yych == '\r') goto yy73; + goto yy13; +yy93: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy13; - goto yy79; -yy91: + goto yy82; +yy94: yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy101; + if (yych == ':') goto yy104; goto yy13; -yy92: +yy95: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy102; + if (yych == 'e') goto yy105; goto yy13; -yy93: +yy96: ++YYCURSOR; #line 92 "../src/ast/lex.re" { @@ -533,81 +545,90 @@ yy93: lex_end_of_comment(out); goto echo; } -#line 537 "src/ast/lex.cc" -yy95: +#line 549 "src/ast/lex.cc" +yy98: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy103; + if (yych == '2') goto yy106; goto yy13; -yy96: +yy99: yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy104; + if (yych == '2') goto yy107; goto yy13; -yy97: +yy100: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy105; + if (yych == '2') goto yy108; goto yy13; -yy98: +yy101: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy107; + if (yych == '2') goto yy109; goto yy13; -yy99: +yy102: ++YYCURSOR; #line 81 "../src/ast/lex.re" { out.wraw(tok, ptr); return Reuse; } -#line 561 "src/ast/lex.cc" -yy101: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy108; - goto yy13; -yy102: +#line 573 "src/ast/lex.cc" +yy104: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy109; + if (yych == 'r') goto yy110; goto yy13; -yy103: +yy105: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy110; + if (yych == '2') goto yy111; goto yy13; -yy104: +yy106: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy112; + if (yych == 'c') goto yy112; goto yy13; -yy105: - ++YYCURSOR; -#line 115 "../src/ast/lex.re" - { - out.wraw(tok, ptr); - lex_tags(out, false); - goto echo; - } -#line 586 "src/ast/lex.cc" yy107: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy113; + if (yych == 'c') goto yy114; goto yy13; yy108: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy115; + if (yych == 'c') goto yy116; goto yy13; yy109: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy116; + if (yych == 'c') goto yy118; goto yy13; yy110: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy120; + goto yy13; +yy111: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'c') goto yy121; + goto yy13; +yy112: + ++YYCURSOR; +#line 121 "../src/ast/lex.re" + { + out.wraw(tok, ptr); + lex_tags(out, true); + goto echo; + } +#line 614 "src/ast/lex.cc" +yy114: ++YYCURSOR; #line 76 "../src/ast/lex.re" { out.wraw(tok, ptr); return Rules; } -#line 606 "src/ast/lex.cc" -yy112: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy118; - goto yy13; -yy113: +#line 622 "src/ast/lex.cc" +yy116: + ++YYCURSOR; +#line 115 "../src/ast/lex.re" + { + out.wraw(tok, ptr); + lex_tags(out, false); + goto echo; + } +#line 631 "src/ast/lex.cc" +yy118: ++YYCURSOR; #line 106 "../src/ast/lex.re" { @@ -618,12 +639,12 @@ yy113: lex_end_of_comment(out); goto echo; } -#line 622 "src/ast/lex.cc" -yy115: +#line 643 "src/ast/lex.cc" +yy120: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy119; + if (yych == '2') goto yy123; goto yy13; -yy116: +yy121: ++YYCURSOR; #line 86 "../src/ast/lex.re" { @@ -631,20 +652,10 @@ yy116: lex_end_of_comment(out); goto echo; } -#line 635 "src/ast/lex.cc" -yy118: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy120; - goto yy13; -yy119: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy121; - goto yy13; -yy120: +#line 656 "src/ast/lex.cc" +yy123: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy123; - goto yy13; -yy121: + if (yych != 'c') goto yy13; ++YYCURSOR; #line 99 "../src/ast/lex.re" { @@ -653,16 +664,7 @@ yy121: lex_end_of_comment(out); goto echo; } -#line 657 "src/ast/lex.cc" -yy123: - ++YYCURSOR; -#line 121 "../src/ast/lex.re" - { - out.wraw(tok, ptr); - lex_tags(out, true); - goto echo; - } -#line 666 "src/ast/lex.cc" +#line 668 "src/ast/lex.cc" } #line 145 "../src/ast/lex.re" @@ -672,43 +674,43 @@ void Scanner::lex_end_of_comment(OutputFile &out) { uint32_t ignored = 0; for (;;) { -#line 676 "src/ast/lex.cc" +#line 678 "src/ast/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych <= '\f') { - if (yych <= 0x00) goto yy127; - if (yych == '\n') goto yy131; - goto yy129; + if (yych <= 0x00) goto yy128; + if (yych == '\n') goto yy132; + goto yy130; } else { - if (yych <= '\r') goto yy133; - if (yych == '*') goto yy134; - goto yy129; + if (yych <= '\r') goto yy134; + if (yych == '*') goto yy135; + goto yy130; } -yy127: +yy128: ++YYCURSOR; #line 152 "../src/ast/lex.re" { fatal("expected end of block"); } -#line 694 "src/ast/lex.cc" -yy129: - ++YYCURSOR; +#line 696 "src/ast/lex.cc" yy130: + ++YYCURSOR; +yy131: #line 154 "../src/ast/lex.re" { continue; } -#line 700 "src/ast/lex.cc" -yy131: +#line 702 "src/ast/lex.cc" +yy132: ++YYCURSOR; #line 155 "../src/ast/lex.re" { ++ignored; continue; } -#line 705 "src/ast/lex.cc" -yy133: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy131; - goto yy130; +#line 707 "src/ast/lex.cc" yy134: yych = (YYCTYPE)*++YYCURSOR; - if (yych != '/') goto yy130; + if (yych == '\n') goto yy132; + goto yy131; +yy135: + yych = (YYCTYPE)*++YYCURSOR; + if (yych != '/') goto yy131; ++YYCURSOR; #line 156 "../src/ast/lex.re" { @@ -719,17 +721,17 @@ yy134: tok = pos = cur; return; } -#line 723 "src/ast/lex.cc" +#line 725 "src/ast/lex.cc" } #line 164 "../src/ast/lex.re" } } -void Scanner::lex_tags(OutputFile &out, bool lists) +void Scanner::lex_tags(OutputFile &out, bool mtags) { std::string fmt, sep; for (;;) { -#line 733 "src/ast/lex.cc" +#line 735 "src/ast/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -769,117 +771,117 @@ void Scanner::lex_tags(OutputFile &out, bool lists) if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { - goto yy141; + goto yy142; } if (yych <= ')') { if (yych <= '\n') { - if (yych >= '\t') goto yy144; + if (yych >= '\t') goto yy145; } else { - if (yych == '\r') goto yy146; + if (yych == '\r') goto yy147; } } else { if (yych <= 'f') { - if (yych <= '*') goto yy147; - if (yych >= 'f') goto yy148; + if (yych <= '*') goto yy148; + if (yych >= 'f') goto yy149; } else { - if (yych == 's') goto yy149; + if (yych == 's') goto yy150; } } ++YYCURSOR; -yy140: +yy141: #line 171 "../src/ast/lex.re" { fatal("unrecognized configuration"); } -#line 793 "src/ast/lex.cc" -yy141: +#line 795 "src/ast/lex.cc" +yy142: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { - goto yy141; + goto yy142; } #line 176 "../src/ast/lex.re" { continue; } -#line 803 "src/ast/lex.cc" -yy144: +#line 805 "src/ast/lex.cc" +yy145: ++YYCURSOR; #line 177 "../src/ast/lex.re" { ++cline; continue; } -#line 808 "src/ast/lex.cc" -yy146: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy144; - goto yy140; +#line 810 "src/ast/lex.cc" yy147: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '/') goto yy150; - goto yy140; + if (yych == '\n') goto yy145; + goto yy141; yy148: - yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy152; - goto yy140; + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '/') goto yy151; + goto yy141; yy149: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy154; - goto yy140; + if (yych == 'o') goto yy153; + goto yy141; yy150: + yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy155; + goto yy141; +yy151: ++YYCURSOR; #line 178 "../src/ast/lex.re" { - out.wdelay_tags(new ConfTags(fmt, sep), lists); + out.wdelay_tags(new ConfTags(fmt, sep), mtags); tok = pos = cur; return; } -#line 833 "src/ast/lex.cc" -yy152: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy155; +#line 835 "src/ast/lex.cc" yy153: - YYCURSOR = YYMARKER; - goto yy140; -yy154: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy156; - goto yy153; + if (yych == 'r') goto yy156; +yy154: + YYCURSOR = YYMARKER; + goto yy141; yy155: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy157; - goto yy153; + if (yych == 'p') goto yy157; + goto yy154; yy156: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy158; - goto yy153; + if (yych == 'm') goto yy158; + goto yy154; yy157: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy159; - goto yy153; + goto yy154; yy158: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy160; - goto yy153; + if (yych == 'a') goto yy160; + goto yy154; yy159: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy161; - goto yy153; + if (yych == 'r') goto yy161; + goto yy154; yy160: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy163; - goto yy153; + if (yych == 't') goto yy162; + goto yy154; yy161: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'a') goto yy164; + goto yy154; +yy162: ++YYCURSOR; #line 173 "../src/ast/lex.re" { fmt = lex_conf_string(); continue; } -#line 872 "src/ast/lex.cc" -yy163: +#line 874 "src/ast/lex.cc" +yy164: yych = (YYCTYPE)*++YYCURSOR; - if (yych != 't') goto yy153; + if (yych != 't') goto yy154; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'o') goto yy153; + if (yych != 'o') goto yy154; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'r') goto yy153; + if (yych != 'r') goto yy154; ++YYCURSOR; #line 174 "../src/ast/lex.re" { sep = lex_conf_string(); continue; } -#line 883 "src/ast/lex.cc" +#line 885 "src/ast/lex.cc" } #line 183 "../src/ast/lex.re" } @@ -892,7 +894,7 @@ scan: tchar = cur - pos; tok = cur; -#line 896 "src/ast/lex.cc" +#line 898 "src/ast/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -933,93 +935,93 @@ scan: if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 16) { - goto yy172; + goto yy173; } if (yych <= '.') { if (yych <= '#') { if (yych <= '\r') { - if (yych <= 0x08) goto yy170; - if (yych <= '\n') goto yy175; - if (yych >= '\r') goto yy177; + if (yych <= 0x08) goto yy171; + if (yych <= '\n') goto yy176; + if (yych >= '\r') goto yy178; } else { - if (yych <= 0x1F) goto yy170; - if (yych <= '!') goto yy178; - if (yych <= '"') goto yy180; - goto yy182; + if (yych <= 0x1F) goto yy171; + if (yych <= '!') goto yy179; + if (yych <= '"') goto yy181; + goto yy183; } } else { if (yych <= '\'') { - if (yych == '%') goto yy183; - if (yych >= '\'') goto yy184; + if (yych == '%') goto yy184; + if (yych >= '\'') goto yy185; } else { if (yych <= '*') { - if (yych <= ')') goto yy178; - goto yy186; + if (yych <= ')') goto yy179; + goto yy187; } else { - if (yych <= ',') goto yy178; - if (yych >= '.') goto yy187; + if (yych <= ',') goto yy179; + if (yych >= '.') goto yy188; } } } } else { if (yych <= '\\') { if (yych <= '?') { - if (yych <= '/') goto yy189; - if (yych <= '9') goto yy190; - if (yych <= ':') goto yy192; - goto yy178; + if (yych <= '/') goto yy190; + if (yych <= '9') goto yy191; + if (yych <= ':') goto yy193; + goto yy179; } else { - if (yych <= '@') goto yy182; - if (yych <= 'Z') goto yy190; - if (yych <= '[') goto yy193; - goto yy178; + if (yych <= '@') goto yy183; + if (yych <= 'Z') goto yy191; + if (yych <= '[') goto yy194; + goto yy179; } } else { if (yych <= 'q') { - if (yych == '_') goto yy190; - if (yych >= 'a') goto yy190; + if (yych == '_') goto yy191; + if (yych >= 'a') goto yy191; } else { if (yych <= 'z') { - if (yych <= 'r') goto yy195; - goto yy190; + if (yych <= 'r') goto yy196; + goto yy191; } else { - if (yych <= '{') goto yy196; - if (yych <= '|') goto yy178; + if (yych <= '{') goto yy197; + if (yych <= '|') goto yy179; } } } } -yy170: - ++YYCURSOR; yy171: + ++YYCURSOR; +yy172: #line 343 "../src/ast/lex.re" { fatalf("unexpected character: '%c'", *tok); goto scan; } -#line 1001 "src/ast/lex.cc" -yy172: +#line 1003 "src/ast/lex.cc" +yy173: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 16) { - goto yy172; + goto yy173; } #line 322 "../src/ast/lex.re" { goto scan; } -#line 1013 "src/ast/lex.cc" -yy175: +#line 1015 "src/ast/lex.cc" +yy176: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy198; + if (yych == '\t') goto yy199; } else { - if (yych <= ' ') goto yy198; - if (yych == '#') goto yy201; + if (yych <= ' ') goto yy199; + if (yych == '#') goto yy202; } -yy176: +yy177: #line 331 "../src/ast/lex.re" { if (cur == eof) return 0; @@ -1032,215 +1034,215 @@ yy176: goto scan; } } -#line 1036 "src/ast/lex.cc" -yy177: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy175; - goto yy171; +#line 1038 "src/ast/lex.cc" yy178: - ++YYCURSOR; + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '\n') goto yy176; + goto yy172; yy179: + ++YYCURSOR; +yy180: #line 235 "../src/ast/lex.re" { return *tok; } -#line 1046 "src/ast/lex.cc" -yy180: +#line 1048 "src/ast/lex.cc" +yy181: ++YYCURSOR; #line 225 "../src/ast/lex.re" { yylval.regexp = lex_str('"'); return TOKEN_REGEXP; } -#line 1051 "src/ast/lex.cc" -yy182: +#line 1053 "src/ast/lex.cc" +yy183: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 'Z') { - if (yych <= '/') goto yy171; - if (yych <= '9') goto yy203; - if (yych <= '@') goto yy171; - goto yy203; + if (yych <= '/') goto yy172; + if (yych <= '9') goto yy204; + if (yych <= '@') goto yy172; + goto yy204; } else { if (yych <= '_') { - if (yych <= '^') goto yy171; - goto yy203; + if (yych <= '^') goto yy172; + goto yy204; } else { - if (yych <= '`') goto yy171; - if (yych <= 'z') goto yy203; - goto yy171; + if (yych <= '`') goto yy172; + if (yych <= 'z') goto yy204; + goto yy172; } } -yy183: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '}') goto yy206; - goto yy171; yy184: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '}') goto yy207; + goto yy172; +yy185: ++YYCURSOR; #line 224 "../src/ast/lex.re" { yylval.regexp = lex_str('\''); return TOKEN_REGEXP; } -#line 1077 "src/ast/lex.cc" -yy186: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '/') goto yy206; - goto yy179; +#line 1079 "src/ast/lex.cc" yy187: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '/') goto yy207; + goto yy180; +yy188: ++YYCURSOR; #line 317 "../src/ast/lex.re" { yylval.regexp = ast_dot(cline, get_column()); return TOKEN_REGEXP; } -#line 1089 "src/ast/lex.cc" -yy189: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '*') goto yy208; - if (yych == '/') goto yy210; - goto yy179; +#line 1091 "src/ast/lex.cc" yy190: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '*') goto yy209; + if (yych == '/') goto yy211; + goto yy180; +yy191: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy191: +yy192: if (yybm[0+yych] & 32) { - goto yy190; + goto yy191; } if (yych <= ' ') { if (yych == '\t') { YYCTXMARKER = YYCURSOR; - goto yy214; + goto yy215; } - if (yych <= 0x1F) goto yy212; + if (yych <= 0x1F) goto yy213; YYCTXMARKER = YYCURSOR; - goto yy214; + goto yy215; } else { if (yych <= ',') { - if (yych <= '+') goto yy212; + if (yych <= '+') goto yy213; YYCTXMARKER = YYCURSOR; - goto yy216; + goto yy217; } else { - if (yych <= '<') goto yy212; + if (yych <= '<') goto yy213; if (yych <= '>') { YYCTXMARKER = YYCURSOR; - goto yy216; + goto yy217; } - goto yy212; + goto yy213; } } -yy192: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '=') goto yy218; - goto yy171; yy193: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '^') goto yy220; + if (yych == '=') goto yy219; + goto yy172; +yy194: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '^') goto yy221; #line 226 "../src/ast/lex.re" { yylval.regexp = lex_cls(false); return TOKEN_REGEXP; } -#line 1134 "src/ast/lex.cc" -yy195: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy222; - goto yy191; +#line 1136 "src/ast/lex.cc" yy196: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy223; + goto yy192; +yy197: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 64) { - goto yy225; + goto yy226; } if (yych <= 'Z') { - if (yych == ',') goto yy223; - if (yych >= 'A') goto yy227; + if (yych == ',') goto yy224; + if (yych >= 'A') goto yy228; } else { if (yych <= '_') { - if (yych >= '_') goto yy227; + if (yych >= '_') goto yy228; } else { - if (yych <= '`') goto yy197; - if (yych <= 'z') goto yy227; + if (yych <= '`') goto yy198; + if (yych <= 'z') goto yy228; } } -yy197: +yy198: #line 193 "../src/ast/lex.re" { depth = 1; code_line = cline; goto code; } -#line 1163 "src/ast/lex.cc" -yy198: +#line 1165 "src/ast/lex.cc" +yy199: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy198; + if (yych == '\t') goto yy199; } else { - if (yych <= ' ') goto yy198; - if (yych == '#') goto yy201; + if (yych <= ' ') goto yy199; + if (yych == '#') goto yy202; } -yy200: +yy201: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy176; + goto yy177; } else { - goto yy197; + goto yy198; } } else { - goto yy224; + goto yy225; } -yy201: +yy202: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy201; - goto yy200; + if (yych == '\t') goto yy202; + goto yy201; } else { - if (yych <= ' ') goto yy201; - if (yych == 'l') goto yy229; - goto yy200; + if (yych <= ' ') goto yy202; + if (yych == 'l') goto yy230; + goto yy201; } -yy203: +yy204: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 'Z') { - if (yych <= '/') goto yy205; - if (yych <= '9') goto yy203; - if (yych >= 'A') goto yy203; + if (yych <= '/') goto yy206; + if (yych <= '9') goto yy204; + if (yych >= 'A') goto yy204; } else { if (yych <= '_') { - if (yych >= '_') goto yy203; + if (yych >= '_') goto yy204; } else { - if (yych <= '`') goto yy205; - if (yych <= 'z') goto yy203; + if (yych <= '`') goto yy206; + if (yych <= 'z') goto yy204; } } -yy205: +yy206: #line 229 "../src/ast/lex.re" { const std::string *name = new std::string(tok + 1, tok_len() - 1); yylval.regexp = ast_tag(cline, get_column(), name, tok[0] == '#'); return TOKEN_REGEXP; } -#line 1220 "src/ast/lex.cc" -yy206: +#line 1222 "src/ast/lex.cc" +yy207: ++YYCURSOR; #line 219 "../src/ast/lex.re" { tok = cur; return 0; } -#line 1228 "src/ast/lex.cc" -yy208: +#line 1230 "src/ast/lex.cc" +yy209: ++YYCURSOR; #line 213 "../src/ast/lex.re" { depth = 1; goto comment; } -#line 1236 "src/ast/lex.cc" -yy210: +#line 1238 "src/ast/lex.cc" +yy211: ++YYCURSOR; #line 210 "../src/ast/lex.re" { goto nextLine; } -#line 1243 "src/ast/lex.cc" -yy212: +#line 1245 "src/ast/lex.cc" +yy213: ++YYCURSOR; YYCURSOR -= 1; #line 300 "../src/ast/lex.re" @@ -1260,24 +1262,24 @@ yy212: return TOKEN_REGEXP; } } -#line 1264 "src/ast/lex.cc" -yy214: +#line 1266 "src/ast/lex.cc" +yy215: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= ' ') { - if (yych == '\t') goto yy214; - if (yych <= 0x1F) goto yy230; - goto yy214; + if (yych == '\t') goto yy215; + if (yych <= 0x1F) goto yy231; + goto yy215; } else { if (yych <= ',') { - if (yych <= '+') goto yy230; + if (yych <= '+') goto yy231; } else { - if (yych <= '<') goto yy230; - if (yych >= '?') goto yy230; + if (yych <= '<') goto yy231; + if (yych >= '?') goto yy231; } } -yy216: +yy217: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 295 "../src/ast/lex.re" @@ -1285,10 +1287,10 @@ yy216: yylval.str = new std::string (tok, tok_len ()); return TOKEN_ID; } -#line 1289 "src/ast/lex.cc" -yy218: +#line 1291 "src/ast/lex.cc" +yy219: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '>') goto yy232; + if (yych == '>') goto yy233; #line 203 "../src/ast/lex.re" { tok += 2; /* skip ":=" */ @@ -1296,74 +1298,74 @@ yy218: code_line = cline; goto code; } -#line 1300 "src/ast/lex.cc" -yy220: +#line 1302 "src/ast/lex.cc" +yy221: ++YYCURSOR; #line 227 "../src/ast/lex.re" { yylval.regexp = lex_cls(true); return TOKEN_REGEXP; } -#line 1305 "src/ast/lex.cc" -yy222: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '2') goto yy234; - goto yy191; +#line 1307 "src/ast/lex.cc" yy223: - ++YYCURSOR; + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '2') goto yy235; + goto yy192; yy224: + ++YYCURSOR; +yy225: #line 268 "../src/ast/lex.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } -#line 1317 "src/ast/lex.cc" -yy225: +#line 1319 "src/ast/lex.cc" +yy226: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { - goto yy225; + goto yy226; } if (yych <= '^') { if (yych <= ',') { - if (yych <= '+') goto yy200; - goto yy235; + if (yych <= '+') goto yy201; + goto yy236; } else { - if (yych <= '@') goto yy200; - if (yych >= '[') goto yy200; + if (yych <= '@') goto yy201; + if (yych >= '[') goto yy201; } } else { if (yych <= 'z') { - if (yych == '`') goto yy200; + if (yych == '`') goto yy201; } else { - if (yych == '}') goto yy236; - goto yy200; + if (yych == '}') goto yy237; + goto yy201; } } -yy227: +yy228: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= '^') { if (yych <= '9') { - if (yych <= '/') goto yy200; - goto yy227; + if (yych <= '/') goto yy201; + goto yy228; } else { - if (yych <= '@') goto yy200; - if (yych <= 'Z') goto yy227; - goto yy200; + if (yych <= '@') goto yy201; + if (yych <= 'Z') goto yy228; + goto yy201; } } else { if (yych <= 'z') { - if (yych == '`') goto yy200; - goto yy227; + if (yych == '`') goto yy201; + goto yy228; } else { - if (yych == '}') goto yy238; - goto yy200; + if (yych == '}') goto yy239; + goto yy201; } } -yy229: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy240; - goto yy200; yy230: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'i') goto yy241; + goto yy201; +yy231: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 282 "../src/ast/lex.re" @@ -1379,27 +1381,27 @@ yy230: return TOKEN_ID; } } -#line 1383 "src/ast/lex.cc" -yy232: +#line 1385 "src/ast/lex.cc" +yy233: ++YYCURSOR; YYCURSOR -= 2; #line 199 "../src/ast/lex.re" { return *tok; } -#line 1391 "src/ast/lex.cc" -yy234: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy241; - goto yy191; +#line 1393 "src/ast/lex.cc" yy235: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'c') goto yy242; + goto yy192; +yy236: yyaccept = 2; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy224; - if (yych <= '9') goto yy242; - if (yych == '}') goto yy244; - goto yy224; -yy236: + if (yych <= '/') goto yy225; + if (yych <= '9') goto yy243; + if (yych == '}') goto yy245; + goto yy225; +yy237: ++YYCURSOR; #line 237 "../src/ast/lex.re" { @@ -1410,8 +1412,8 @@ yy236: yylval.bounds.max = yylval.bounds.min; return TOKEN_CLOSESIZE; } -#line 1414 "src/ast/lex.cc" -yy238: +#line 1416 "src/ast/lex.cc" +yy239: ++YYCURSOR; #line 272 "../src/ast/lex.re" { @@ -1421,24 +1423,24 @@ yy238: yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces return TOKEN_ID; } -#line 1425 "src/ast/lex.cc" -yy240: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy246; - goto yy200; +#line 1427 "src/ast/lex.cc" yy241: yych = (YYCTYPE)*++YYCURSOR; - if (yych == ':') goto yy247; - goto yy191; + if (yych == 'n') goto yy247; + goto yy201; yy242: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == ':') goto yy248; + goto yy192; +yy243: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych <= '/') goto yy200; - if (yych <= '9') goto yy242; - if (yych == '}') goto yy249; - goto yy200; -yy244: + if (yych <= '/') goto yy201; + if (yych <= '9') goto yy243; + if (yych == '}') goto yy250; + goto yy201; +yy245: ++YYCURSOR; #line 259 "../src/ast/lex.re" { @@ -1449,17 +1451,17 @@ yy244: yylval.bounds.max = std::numeric_limits::max(); return TOKEN_CLOSESIZE; } -#line 1453 "src/ast/lex.cc" -yy246: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy251; - goto yy200; +#line 1455 "src/ast/lex.cc" yy247: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy252; + goto yy201; +yy248: ++YYCURSOR; #line 280 "../src/ast/lex.re" { return TOKEN_CONF; } -#line 1462 "src/ast/lex.cc" -yy249: +#line 1464 "src/ast/lex.cc" +yy250: ++YYCURSOR; #line 246 "../src/ast/lex.re" { @@ -1474,60 +1476,60 @@ yy249: } return TOKEN_CLOSESIZE; } -#line 1478 "src/ast/lex.cc" -yy251: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '0') goto yy253; - if (yych <= '9') goto yy200; - goto yy253; +#line 1480 "src/ast/lex.cc" yy252: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= '0') goto yy254; + if (yych <= '9') goto yy201; + goto yy254; +yy253: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy253: +yy254: if (yych <= 0x1F) { - if (yych == '\t') goto yy252; - goto yy200; + if (yych == '\t') goto yy253; + goto yy201; } else { - if (yych <= ' ') goto yy252; - if (yych <= '0') goto yy200; - if (yych >= ':') goto yy200; + if (yych <= ' ') goto yy253; + if (yych <= '0') goto yy201; + if (yych >= ':') goto yy201; YYCTXMARKER = YYCURSOR; } -yy254: +yy255: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { - if (yych <= 0x08) goto yy200; + if (yych <= 0x08) goto yy201; } else { - if (yych <= '\n') goto yy258; - if (yych <= '\f') goto yy200; - goto yy260; + if (yych <= '\n') goto yy259; + if (yych <= '\f') goto yy201; + goto yy261; } } else { if (yych <= ' ') { - if (yych <= 0x1F) goto yy200; + if (yych <= 0x1F) goto yy201; } else { - if (yych <= '/') goto yy200; - if (yych <= '9') goto yy254; - goto yy200; + if (yych <= '/') goto yy201; + if (yych <= '9') goto yy255; + goto yy201; } } -yy256: +yy257: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy256; - goto yy200; + if (yych == '\t') goto yy257; + goto yy201; } else { - if (yych <= ' ') goto yy256; - if (yych == '"') goto yy261; - goto yy200; + if (yych <= ' ') goto yy257; + if (yych == '"') goto yy262; + goto yy201; } -yy258: +yy259: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 326 "../src/ast/lex.re" @@ -1535,37 +1537,37 @@ yy258: set_sourceline (); return TOKEN_LINE_INFO; } -#line 1539 "src/ast/lex.cc" -yy260: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy258; - goto yy200; +#line 1541 "src/ast/lex.cc" yy261: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '\n') goto yy259; + goto yy201; +yy262: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { - goto yy261; + goto yy262; } - if (yych <= '\n') goto yy200; - if (yych >= '#') goto yy264; + if (yych <= '\n') goto yy201; + if (yych >= '#') goto yy265; yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy258; - if (yych == '\r') goto yy260; - goto yy200; -yy264: + if (yych == '\n') goto yy259; + if (yych == '\r') goto yy261; + goto yy201; +yy265: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy200; - goto yy261; + if (yych == '\n') goto yy201; + goto yy262; } #line 347 "../src/ast/lex.re" code: -#line 1569 "src/ast/lex.cc" +#line 1571 "src/ast/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1607,24 +1609,24 @@ code: yych = (YYCTYPE)*YYCURSOR; if (yych <= '&') { if (yych <= '\n') { - if (yych <= 0x00) goto yy267; - if (yych <= '\t') goto yy269; - goto yy271; + if (yych <= 0x00) goto yy268; + if (yych <= '\t') goto yy270; + goto yy272; } else { - if (yych == '"') goto yy273; - goto yy269; + if (yych == '"') goto yy274; + goto yy270; } } else { if (yych <= '{') { - if (yych <= '\'') goto yy274; - if (yych <= 'z') goto yy269; - goto yy275; + if (yych <= '\'') goto yy275; + if (yych <= 'z') goto yy270; + goto yy276; } else { - if (yych == '}') goto yy277; - goto yy269; + if (yych == '}') goto yy278; + goto yy270; } } -yy267: +yy268: ++YYCURSOR; #line 410 "../src/ast/lex.re" { @@ -1638,33 +1640,33 @@ yy267: } goto code; } -#line 1642 "src/ast/lex.cc" -yy269: - ++YYCURSOR; +#line 1644 "src/ast/lex.cc" yy270: + ++YYCURSOR; +yy271: #line 424 "../src/ast/lex.re" { goto code; } -#line 1650 "src/ast/lex.cc" -yy271: +#line 1652 "src/ast/lex.cc" +yy272: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '\r') { if (yych <= '\t') { - if (yych >= '\t') goto yy279; + if (yych >= '\t') goto yy280; } else { - if (yych <= '\n') goto yy281; - if (yych >= '\r') goto yy281; + if (yych <= '\n') goto yy282; + if (yych >= '\r') goto yy282; } } else { if (yych <= ' ') { - if (yych >= ' ') goto yy279; + if (yych >= ' ') goto yy280; } else { - if (yych == '#') goto yy282; + if (yych == '#') goto yy283; } } -yy272: +yy273: #line 391 "../src/ast/lex.re" { if (depth == 0) @@ -1685,18 +1687,18 @@ yy272: cline++; goto code; } -#line 1689 "src/ast/lex.cc" -yy273: - yyaccept = 1; - yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == '\n') goto yy270; - goto yy286; +#line 1691 "src/ast/lex.cc" yy274: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == '\n') goto yy270; - goto yy291; + if (yych == '\n') goto yy271; + goto yy287; yy275: + yyaccept = 1; + yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); + if (yych == '\n') goto yy271; + goto yy292; +yy276: ++YYCURSOR; #line 363 "../src/ast/lex.re" { @@ -1710,8 +1712,8 @@ yy275: } goto code; } -#line 1714 "src/ast/lex.cc" -yy277: +#line 1716 "src/ast/lex.cc" +yy278: ++YYCURSOR; #line 351 "../src/ast/lex.re" { @@ -1726,17 +1728,17 @@ yy277: } goto code; } -#line 1730 "src/ast/lex.cc" -yy279: +#line 1732 "src/ast/lex.cc" +yy280: yyaccept = 2; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy293; + if (yych == '\t') goto yy294; } else { - if (yych <= ' ') goto yy293; - if (yych == '#') goto yy282; + if (yych <= ' ') goto yy294; + if (yych == '#') goto yy283; } -yy280: +yy281: YYCURSOR -= 1; #line 378 "../src/ast/lex.re" { @@ -1752,133 +1754,133 @@ yy280: cline++; goto code; } -#line 1756 "src/ast/lex.cc" -yy281: - ++YYCURSOR; - goto yy280; +#line 1758 "src/ast/lex.cc" yy282: + ++YYCURSOR; + goto yy281; +yy283: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 16) { - goto yy282; + goto yy283; } - if (yych == 'l') goto yy295; -yy284: + if (yych == 'l') goto yy296; +yy285: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy272; + goto yy273; } else { - goto yy270; + goto yy271; } } else { - goto yy280; + goto yy281; } -yy285: +yy286: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy286: +yy287: if (yybm[0+yych] & 32) { - goto yy285; + goto yy286; } - if (yych <= '\n') goto yy284; - if (yych >= '#') goto yy289; -yy287: + if (yych <= '\n') goto yy285; + if (yych >= '#') goto yy290; +yy288: ++YYCURSOR; #line 421 "../src/ast/lex.re" { goto code; } -#line 1795 "src/ast/lex.cc" -yy289: +#line 1797 "src/ast/lex.cc" +yy290: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy284; - goto yy285; -yy290: + if (yych == '\n') goto yy285; + goto yy286; +yy291: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy291: +yy292: if (yybm[0+yych] & 64) { - goto yy290; + goto yy291; } - if (yych <= '\n') goto yy284; - if (yych <= '\'') goto yy287; + if (yych <= '\n') goto yy285; + if (yych <= '\'') goto yy288; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy284; - goto yy290; -yy293: + if (yych == '\n') goto yy285; + goto yy291; +yy294: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy293; - goto yy284; + if (yych == '\t') goto yy294; + goto yy285; } else { - if (yych <= ' ') goto yy293; - if (yych == '#') goto yy282; - goto yy284; + if (yych <= ' ') goto yy294; + if (yych == '#') goto yy283; + goto yy285; } -yy295: +yy296: yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'i') goto yy284; + if (yych != 'i') goto yy285; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'n') goto yy284; + if (yych != 'n') goto yy285; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'e') goto yy284; + if (yych != 'e') goto yy285; yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '0') goto yy300; - if (yych <= '9') goto yy284; - goto yy300; -yy299: + if (yych <= '0') goto yy301; + if (yych <= '9') goto yy285; + goto yy301; +yy300: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy300: +yy301: if (yych <= 0x1F) { - if (yych == '\t') goto yy299; - goto yy284; + if (yych == '\t') goto yy300; + goto yy285; } else { - if (yych <= ' ') goto yy299; - if (yych <= '0') goto yy284; - if (yych >= ':') goto yy284; + if (yych <= ' ') goto yy300; + if (yych <= '0') goto yy285; + if (yych >= ':') goto yy285; YYCTXMARKER = YYCURSOR; } -yy301: +yy302: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { - goto yy301; + goto yy302; } if (yych <= '\f') { - if (yych <= 0x08) goto yy284; - if (yych <= '\t') goto yy303; - if (yych <= '\n') goto yy305; - goto yy284; + if (yych <= 0x08) goto yy285; + if (yych <= '\t') goto yy304; + if (yych <= '\n') goto yy306; + goto yy285; } else { - if (yych <= '\r') goto yy307; - if (yych != ' ') goto yy284; + if (yych <= '\r') goto yy308; + if (yych != ' ') goto yy285; } -yy303: +yy304: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy303; - goto yy284; + if (yych == '\t') goto yy304; + goto yy285; } else { - if (yych <= ' ') goto yy303; - if (yych == '"') goto yy308; - goto yy284; + if (yych <= ' ') goto yy304; + if (yych == '"') goto yy309; + goto yy285; } -yy305: +yy306: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 374 "../src/ast/lex.re" @@ -1886,41 +1888,41 @@ yy305: set_sourceline (); goto code; } -#line 1890 "src/ast/lex.cc" -yy307: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy305; - goto yy284; +#line 1892 "src/ast/lex.cc" yy308: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '\n') goto yy306; + goto yy285; +yy309: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yych <= '!') { - if (yych == '\n') goto yy284; - goto yy308; + if (yych == '\n') goto yy285; + goto yy309; } else { - if (yych <= '"') goto yy310; - if (yych == '\\') goto yy311; - goto yy308; + if (yych <= '"') goto yy311; + if (yych == '\\') goto yy312; + goto yy309; } -yy310: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy305; - if (yych == '\r') goto yy307; - goto yy284; yy311: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '\n') goto yy306; + if (yych == '\r') goto yy308; + goto yy285; +yy312: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy284; - goto yy308; + if (yych == '\n') goto yy285; + goto yy309; } #line 427 "../src/ast/lex.re" comment: -#line 1924 "src/ast/lex.cc" +#line 1926 "src/ast/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -1960,13 +1962,13 @@ comment: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych <= ')') { - if (yych == '\n') goto yy316; + if (yych == '\n') goto yy317; } else { - if (yych <= '*') goto yy318; - if (yych == '/') goto yy319; + if (yych <= '*') goto yy319; + if (yych == '/') goto yy320; } ++YYCURSOR; -yy315: +yy316: #line 459 "../src/ast/lex.re" { if (cur == eof) @@ -1975,14 +1977,14 @@ yy315: } goto comment; } -#line 1979 "src/ast/lex.cc" -yy316: +#line 1981 "src/ast/lex.cc" +yy317: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { - goto yy320; + goto yy321; } - if (yych == '#') goto yy323; -yy317: + if (yych == '#') goto yy324; +yy318: #line 450 "../src/ast/lex.re" { if (cur == eof) @@ -1993,39 +1995,39 @@ yy317: cline++; goto comment; } -#line 1997 "src/ast/lex.cc" -yy318: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '/') goto yy325; - goto yy315; +#line 1999 "src/ast/lex.cc" yy319: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '*') goto yy327; - goto yy315; + if (yych == '/') goto yy326; + goto yy316; yy320: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '*') goto yy328; + goto yy316; +yy321: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 32) { - goto yy320; + goto yy321; } - if (yych == '#') goto yy323; -yy322: - YYCURSOR = YYMARKER; - goto yy317; + if (yych == '#') goto yy324; yy323: + YYCURSOR = YYMARKER; + goto yy318; +yy324: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy323; - goto yy322; + if (yych == '\t') goto yy324; + goto yy323; } else { - if (yych <= ' ') goto yy323; - if (yych == 'l') goto yy329; - goto yy322; + if (yych <= ' ') goto yy324; + if (yych == 'l') goto yy330; + goto yy323; } -yy325: +yy326: ++YYCURSOR; #line 431 "../src/ast/lex.re" { @@ -2038,8 +2040,8 @@ yy325: goto comment; } } -#line 2042 "src/ast/lex.cc" -yy327: +#line 2044 "src/ast/lex.cc" +yy328: ++YYCURSOR; #line 441 "../src/ast/lex.re" { @@ -2047,61 +2049,61 @@ yy327: fatal("ambiguous /* found"); goto comment; } -#line 2051 "src/ast/lex.cc" -yy329: +#line 2053 "src/ast/lex.cc" +yy330: yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'i') goto yy322; + if (yych != 'i') goto yy323; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'n') goto yy322; + if (yych != 'n') goto yy323; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'e') goto yy322; + if (yych != 'e') goto yy323; yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '0') goto yy334; - if (yych <= '9') goto yy322; - goto yy334; -yy333: + if (yych <= '0') goto yy335; + if (yych <= '9') goto yy323; + goto yy335; +yy334: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy334: +yy335: if (yych <= 0x1F) { - if (yych == '\t') goto yy333; - goto yy322; + if (yych == '\t') goto yy334; + goto yy323; } else { - if (yych <= ' ') goto yy333; - if (yych <= '0') goto yy322; - if (yych >= ':') goto yy322; + if (yych <= ' ') goto yy334; + if (yych <= '0') goto yy323; + if (yych >= ':') goto yy323; YYCTXMARKER = YYCURSOR; } -yy335: +yy336: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { - goto yy335; + goto yy336; } if (yych <= '\f') { - if (yych <= 0x08) goto yy322; - if (yych <= '\t') goto yy337; - if (yych <= '\n') goto yy339; - goto yy322; + if (yych <= 0x08) goto yy323; + if (yych <= '\t') goto yy338; + if (yych <= '\n') goto yy340; + goto yy323; } else { - if (yych <= '\r') goto yy341; - if (yych != ' ') goto yy322; + if (yych <= '\r') goto yy342; + if (yych != ' ') goto yy323; } -yy337: +yy338: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { - if (yych == '\t') goto yy337; - goto yy322; + if (yych == '\t') goto yy338; + goto yy323; } else { - if (yych <= ' ') goto yy337; - if (yych == '"') goto yy342; - goto yy322; + if (yych <= ' ') goto yy338; + if (yych == '"') goto yy343; + goto yy323; } -yy339: +yy340: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 446 "../src/ast/lex.re" @@ -2109,42 +2111,42 @@ yy339: set_sourceline (); goto comment; } -#line 2113 "src/ast/lex.cc" -yy341: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy339; - goto yy322; +#line 2115 "src/ast/lex.cc" yy342: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '\n') goto yy340; + goto yy323; +yy343: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { - goto yy342; + goto yy343; } - if (yych <= '\n') goto yy322; - if (yych >= '#') goto yy345; + if (yych <= '\n') goto yy323; + if (yych >= '#') goto yy346; yych = (YYCTYPE)*++YYCURSOR; - if (yych == '\n') goto yy339; - if (yych == '\r') goto yy341; - goto yy322; -yy345: + if (yych == '\n') goto yy340; + if (yych == '\r') goto yy342; + goto yy323; +yy346: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy322; - goto yy342; + if (yych == '\n') goto yy323; + goto yy343; } #line 466 "../src/ast/lex.re" nextLine: -#line 2143 "src/ast/lex.cc" +#line 2145 "src/ast/lex.cc" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy350; + if (yych == '\n') goto yy351; ++YYCURSOR; #line 477 "../src/ast/lex.re" { if(cur == eof) { @@ -2152,8 +2154,8 @@ nextLine: } goto nextLine; } -#line 2156 "src/ast/lex.cc" -yy350: +#line 2158 "src/ast/lex.cc" +yy351: ++YYCURSOR; #line 470 "../src/ast/lex.re" { if(cur == eof) { @@ -2163,7 +2165,7 @@ yy350: cline++; goto scan; } -#line 2167 "src/ast/lex.cc" +#line 2169 "src/ast/lex.cc" } #line 482 "../src/ast/lex.re" @@ -2191,41 +2193,41 @@ fst: tok = cur; c = get_column(); -#line 2195 "src/ast/lex.cc" +#line 2197 "src/ast/lex.cc" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == ']') goto yy355; + if (yych == ']') goto yy356; #line 508 "../src/ast/lex.re" { l = lex_cls_chr(); goto snd; } -#line 2203 "src/ast/lex.cc" -yy355: +#line 2205 "src/ast/lex.cc" +yy356: ++YYCURSOR; #line 507 "../src/ast/lex.re" { return ast_cls(cline, c0, cls, neg); } -#line 2208 "src/ast/lex.cc" +#line 2210 "src/ast/lex.cc" } #line 509 "../src/ast/lex.re" snd: -#line 2214 "src/ast/lex.cc" +#line 2216 "src/ast/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*(YYMARKER = YYCURSOR); - if (yych == '-') goto yy360; -yy359: + if (yych == '-') goto yy361; +yy360: #line 512 "../src/ast/lex.re" { u = l; goto add; } -#line 2223 "src/ast/lex.cc" -yy360: +#line 2225 "src/ast/lex.cc" +yy361: yych = (YYCTYPE)*++YYCURSOR; - if (yych != ']') goto yy362; + if (yych != ']') goto yy363; YYCURSOR = YYMARKER; - goto yy359; -yy362: + goto yy360; +yy363: ++YYCURSOR; YYCURSOR -= 1; #line 513 "../src/ast/lex.re" @@ -2237,7 +2239,7 @@ yy362: } goto add; } -#line 2241 "src/ast/lex.cc" +#line 2243 "src/ast/lex.cc" } #line 521 "../src/ast/lex.re" @@ -2250,287 +2252,287 @@ uint32_t Scanner::lex_cls_chr() { tok = cur; -#line 2254 "src/ast/lex.cc" +#line 2256 "src/ast/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy368; - if (yych == '\\') goto yy370; + if (yych == '\n') goto yy369; + if (yych == '\\') goto yy371; ++YYCURSOR; #line 536 "../src/ast/lex.re" { return static_cast(tok[0]); } -#line 2265 "src/ast/lex.cc" -yy368: +#line 2267 "src/ast/lex.cc" +yy369: ++YYCURSOR; #line 531 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error"); } -#line 2270 "src/ast/lex.cc" -yy370: +#line 2272 "src/ast/lex.cc" +yy371: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '`') { if (yych <= '7') { if (yych <= ',') { - if (yych != '\n') goto yy372; + if (yych != '\n') goto yy373; } else { - if (yych <= '-') goto yy374; - if (yych <= '/') goto yy372; - if (yych <= '3') goto yy376; - goto yy378; + if (yych <= '-') goto yy375; + if (yych <= '/') goto yy373; + if (yych <= '3') goto yy377; + goto yy379; } } else { if (yych <= 'X') { - if (yych == 'U') goto yy379; - if (yych <= 'W') goto yy372; - goto yy381; + if (yych == 'U') goto yy380; + if (yych <= 'W') goto yy373; + goto yy382; } else { - if (yych <= '[') goto yy372; - if (yych <= '\\') goto yy382; - if (yych <= ']') goto yy384; - goto yy372; + if (yych <= '[') goto yy373; + if (yych <= '\\') goto yy383; + if (yych <= ']') goto yy385; + goto yy373; } } } else { if (yych <= 'q') { if (yych <= 'e') { - if (yych <= 'a') goto yy386; - if (yych <= 'b') goto yy388; - goto yy372; + if (yych <= 'a') goto yy387; + if (yych <= 'b') goto yy389; + goto yy373; } else { - if (yych <= 'f') goto yy390; - if (yych == 'n') goto yy392; - goto yy372; + if (yych <= 'f') goto yy391; + if (yych == 'n') goto yy393; + goto yy373; } } else { if (yych <= 'u') { - if (yych <= 'r') goto yy394; - if (yych <= 's') goto yy372; - if (yych <= 't') goto yy396; - goto yy381; + if (yych <= 'r') goto yy395; + if (yych <= 's') goto yy373; + if (yych <= 't') goto yy397; + goto yy382; } else { - if (yych <= 'v') goto yy398; - if (yych == 'x') goto yy400; - goto yy372; + if (yych <= 'v') goto yy399; + if (yych == 'x') goto yy401; + goto yy373; } } } #line 534 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error in escape sequence"); } -#line 2321 "src/ast/lex.cc" -yy372: +#line 2323 "src/ast/lex.cc" +yy373: ++YYCURSOR; #line 549 "../src/ast/lex.re" { warn.useless_escape(cline, get_column(), tok[1]); return static_cast(tok[1]); } -#line 2329 "src/ast/lex.cc" -yy374: +#line 2331 "src/ast/lex.cc" +yy375: ++YYCURSOR; #line 547 "../src/ast/lex.re" { return static_cast('-'); } -#line 2334 "src/ast/lex.cc" -yy376: +#line 2336 "src/ast/lex.cc" +yy377: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy377; - if (yych <= '7') goto yy401; -yy377: + if (yych <= '/') goto yy378; + if (yych <= '7') goto yy402; +yy378: #line 533 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error in octal escape sequence"); } -#line 2343 "src/ast/lex.cc" -yy378: - ++YYCURSOR; - goto yy377; +#line 2345 "src/ast/lex.cc" yy379: + ++YYCURSOR; + goto yy378; +yy380: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych <= '/') goto yy380; - if (yych <= '9') goto yy403; + if (yych <= '/') goto yy381; + if (yych <= '9') goto yy404; } else { - if (yych <= 'F') goto yy403; - if (yych <= '`') goto yy380; - if (yych <= 'f') goto yy403; + if (yych <= 'F') goto yy404; + if (yych <= '`') goto yy381; + if (yych <= 'f') goto yy404; } -yy380: +yy381: #line 532 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error in hexadecimal escape sequence"); } -#line 2361 "src/ast/lex.cc" -yy381: +#line 2363 "src/ast/lex.cc" +yy382: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych <= '/') goto yy380; - if (yych <= '9') goto yy404; - goto yy380; + if (yych <= '/') goto yy381; + if (yych <= '9') goto yy405; + goto yy381; } else { - if (yych <= 'F') goto yy404; - if (yych <= '`') goto yy380; - if (yych <= 'f') goto yy404; - goto yy380; + if (yych <= 'F') goto yy405; + if (yych <= '`') goto yy381; + if (yych <= 'f') goto yy405; + goto yy381; } -yy382: +yy383: ++YYCURSOR; #line 546 "../src/ast/lex.re" { return static_cast('\\'); } -#line 2379 "src/ast/lex.cc" -yy384: +#line 2381 "src/ast/lex.cc" +yy385: ++YYCURSOR; #line 548 "../src/ast/lex.re" { return static_cast(']'); } -#line 2384 "src/ast/lex.cc" -yy386: +#line 2386 "src/ast/lex.cc" +yy387: ++YYCURSOR; #line 539 "../src/ast/lex.re" { return static_cast('\a'); } -#line 2389 "src/ast/lex.cc" -yy388: +#line 2391 "src/ast/lex.cc" +yy389: ++YYCURSOR; #line 540 "../src/ast/lex.re" { return static_cast('\b'); } -#line 2394 "src/ast/lex.cc" -yy390: +#line 2396 "src/ast/lex.cc" +yy391: ++YYCURSOR; #line 541 "../src/ast/lex.re" { return static_cast('\f'); } -#line 2399 "src/ast/lex.cc" -yy392: +#line 2401 "src/ast/lex.cc" +yy393: ++YYCURSOR; #line 542 "../src/ast/lex.re" { return static_cast('\n'); } -#line 2404 "src/ast/lex.cc" -yy394: +#line 2406 "src/ast/lex.cc" +yy395: ++YYCURSOR; #line 543 "../src/ast/lex.re" { return static_cast('\r'); } -#line 2409 "src/ast/lex.cc" -yy396: +#line 2411 "src/ast/lex.cc" +yy397: ++YYCURSOR; #line 544 "../src/ast/lex.re" { return static_cast('\t'); } -#line 2414 "src/ast/lex.cc" -yy398: +#line 2416 "src/ast/lex.cc" +yy399: ++YYCURSOR; #line 545 "../src/ast/lex.re" { return static_cast('\v'); } -#line 2419 "src/ast/lex.cc" -yy400: +#line 2421 "src/ast/lex.cc" +yy401: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych <= '/') goto yy380; - if (yych <= '9') goto yy405; - goto yy380; + if (yych <= '/') goto yy381; + if (yych <= '9') goto yy406; + goto yy381; } else { - if (yych <= 'F') goto yy405; - if (yych <= '`') goto yy380; - if (yych <= 'f') goto yy405; - goto yy380; + if (yych <= 'F') goto yy406; + if (yych <= '`') goto yy381; + if (yych <= 'f') goto yy406; + goto yy381; } -yy401: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '/') goto yy402; - if (yych <= '7') goto yy406; yy402: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= '/') goto yy403; + if (yych <= '7') goto yy407; +yy403: YYCURSOR = YYMARKER; if (yyaccept == 0) { - goto yy377; - } else { - goto yy380; - } -yy403: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '@') { - if (yych <= '/') goto yy402; - if (yych <= '9') goto yy408; - goto yy402; + goto yy378; } else { - if (yych <= 'F') goto yy408; - if (yych <= '`') goto yy402; - if (yych <= 'f') goto yy408; - goto yy402; + goto yy381; } yy404: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy402; + if (yych <= '/') goto yy403; if (yych <= '9') goto yy409; - goto yy402; + goto yy403; } else { if (yych <= 'F') goto yy409; - if (yych <= '`') goto yy402; + if (yych <= '`') goto yy403; if (yych <= 'f') goto yy409; - goto yy402; + goto yy403; } yy405: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy402; + if (yych <= '/') goto yy403; if (yych <= '9') goto yy410; - goto yy402; + goto yy403; } else { if (yych <= 'F') goto yy410; - if (yych <= '`') goto yy402; + if (yych <= '`') goto yy403; if (yych <= 'f') goto yy410; - goto yy402; + goto yy403; } yy406: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy403; + if (yych <= '9') goto yy411; + goto yy403; + } else { + if (yych <= 'F') goto yy411; + if (yych <= '`') goto yy403; + if (yych <= 'f') goto yy411; + goto yy403; + } +yy407: ++YYCURSOR; #line 538 "../src/ast/lex.re" { return unesc_oct(tok, cur); } -#line 2484 "src/ast/lex.cc" -yy408: +#line 2486 "src/ast/lex.cc" +yy409: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy402; - if (yych <= '9') goto yy412; - goto yy402; + if (yych <= '/') goto yy403; + if (yych <= '9') goto yy413; + goto yy403; } else { - if (yych <= 'F') goto yy412; - if (yych <= '`') goto yy402; - if (yych <= 'f') goto yy412; - goto yy402; + if (yych <= 'F') goto yy413; + if (yych <= '`') goto yy403; + if (yych <= 'f') goto yy413; + goto yy403; } -yy409: +yy410: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy402; - if (yych <= '9') goto yy405; - goto yy402; + if (yych <= '/') goto yy403; + if (yych <= '9') goto yy406; + goto yy403; } else { - if (yych <= 'F') goto yy405; - if (yych <= '`') goto yy402; - if (yych <= 'f') goto yy405; - goto yy402; + if (yych <= 'F') goto yy406; + if (yych <= '`') goto yy403; + if (yych <= 'f') goto yy406; + goto yy403; } -yy410: +yy411: ++YYCURSOR; #line 537 "../src/ast/lex.re" { return unesc_hex(tok, cur); } -#line 2513 "src/ast/lex.cc" -yy412: +#line 2515 "src/ast/lex.cc" +yy413: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy402; - if (yych >= ':') goto yy402; + if (yych <= '/') goto yy403; + if (yych >= ':') goto yy403; } else { - if (yych <= 'F') goto yy413; - if (yych <= '`') goto yy402; - if (yych >= 'g') goto yy402; + if (yych <= 'F') goto yy414; + if (yych <= '`') goto yy403; + if (yych >= 'g') goto yy403; } -yy413: +yy414: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy402; - if (yych <= '9') goto yy404; - goto yy402; + if (yych <= '/') goto yy403; + if (yych <= '9') goto yy405; + goto yy403; } else { - if (yych <= 'F') goto yy404; - if (yych <= '`') goto yy402; - if (yych <= 'f') goto yy404; - goto yy402; + if (yych <= 'F') goto yy405; + if (yych <= '`') goto yy403; + if (yych <= 'f') goto yy405; + goto yy403; } } #line 553 "../src/ast/lex.re" @@ -2542,75 +2544,75 @@ uint32_t Scanner::lex_str_chr(char quote, bool &end) end = false; tok = cur; -#line 2546 "src/ast/lex.cc" +#line 2548 "src/ast/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy418; - if (yych == '\\') goto yy420; + if (yych == '\n') goto yy419; + if (yych == '\\') goto yy421; ++YYCURSOR; #line 566 "../src/ast/lex.re" { end = tok[0] == quote; return static_cast(tok[0]); } -#line 2560 "src/ast/lex.cc" -yy418: +#line 2562 "src/ast/lex.cc" +yy419: ++YYCURSOR; #line 561 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error"); } -#line 2565 "src/ast/lex.cc" -yy420: +#line 2567 "src/ast/lex.cc" +yy421: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 'a') { if (yych <= 'T') { if (yych <= '/') { - if (yych != '\n') goto yy422; + if (yych != '\n') goto yy423; } else { - if (yych <= '3') goto yy424; - if (yych <= '7') goto yy426; - goto yy422; + if (yych <= '3') goto yy425; + if (yych <= '7') goto yy427; + goto yy423; } } else { if (yych <= 'X') { - if (yych <= 'U') goto yy427; - if (yych <= 'W') goto yy422; - goto yy429; + if (yych <= 'U') goto yy428; + if (yych <= 'W') goto yy423; + goto yy430; } else { - if (yych == '\\') goto yy430; - if (yych <= '`') goto yy422; - goto yy432; + if (yych == '\\') goto yy431; + if (yych <= '`') goto yy423; + goto yy433; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy434; - if (yych <= 'e') goto yy422; - goto yy436; + if (yych <= 'b') goto yy435; + if (yych <= 'e') goto yy423; + goto yy437; } else { - if (yych == 'n') goto yy438; - if (yych <= 'q') goto yy422; - goto yy440; + if (yych == 'n') goto yy439; + if (yych <= 'q') goto yy423; + goto yy441; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy422; - if (yych <= 't') goto yy442; - goto yy429; + if (yych <= 's') goto yy423; + if (yych <= 't') goto yy443; + goto yy430; } else { - if (yych <= 'v') goto yy444; - if (yych == 'x') goto yy446; - goto yy422; + if (yych <= 'v') goto yy445; + if (yych == 'x') goto yy447; + goto yy423; } } } #line 564 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error in escape sequence"); } -#line 2613 "src/ast/lex.cc" -yy422: +#line 2615 "src/ast/lex.cc" +yy423: ++YYCURSOR; #line 580 "../src/ast/lex.re" { @@ -2619,202 +2621,202 @@ yy422: } return static_cast(tok[1]); } -#line 2623 "src/ast/lex.cc" -yy424: +#line 2625 "src/ast/lex.cc" +yy425: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy425; - if (yych <= '7') goto yy447; -yy425: + if (yych <= '/') goto yy426; + if (yych <= '7') goto yy448; +yy426: #line 563 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error in octal escape sequence"); } -#line 2632 "src/ast/lex.cc" -yy426: - ++YYCURSOR; - goto yy425; +#line 2634 "src/ast/lex.cc" yy427: + ++YYCURSOR; + goto yy426; +yy428: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych <= '/') goto yy428; - if (yych <= '9') goto yy449; + if (yych <= '/') goto yy429; + if (yych <= '9') goto yy450; } else { - if (yych <= 'F') goto yy449; - if (yych <= '`') goto yy428; - if (yych <= 'f') goto yy449; + if (yych <= 'F') goto yy450; + if (yych <= '`') goto yy429; + if (yych <= 'f') goto yy450; } -yy428: +yy429: #line 562 "../src/ast/lex.re" { fatal (get_column() - tchar, "syntax error in hexadecimal escape sequence"); } -#line 2650 "src/ast/lex.cc" -yy429: +#line 2652 "src/ast/lex.cc" +yy430: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych <= '/') goto yy428; - if (yych <= '9') goto yy450; - goto yy428; + if (yych <= '/') goto yy429; + if (yych <= '9') goto yy451; + goto yy429; } else { - if (yych <= 'F') goto yy450; - if (yych <= '`') goto yy428; - if (yych <= 'f') goto yy450; - goto yy428; + if (yych <= 'F') goto yy451; + if (yych <= '`') goto yy429; + if (yych <= 'f') goto yy451; + goto yy429; } -yy430: +yy431: ++YYCURSOR; #line 579 "../src/ast/lex.re" { return static_cast('\\'); } -#line 2668 "src/ast/lex.cc" -yy432: +#line 2670 "src/ast/lex.cc" +yy433: ++YYCURSOR; #line 572 "../src/ast/lex.re" { return static_cast('\a'); } -#line 2673 "src/ast/lex.cc" -yy434: +#line 2675 "src/ast/lex.cc" +yy435: ++YYCURSOR; #line 573 "../src/ast/lex.re" { return static_cast('\b'); } -#line 2678 "src/ast/lex.cc" -yy436: +#line 2680 "src/ast/lex.cc" +yy437: ++YYCURSOR; #line 574 "../src/ast/lex.re" { return static_cast('\f'); } -#line 2683 "src/ast/lex.cc" -yy438: +#line 2685 "src/ast/lex.cc" +yy439: ++YYCURSOR; #line 575 "../src/ast/lex.re" { return static_cast('\n'); } -#line 2688 "src/ast/lex.cc" -yy440: +#line 2690 "src/ast/lex.cc" +yy441: ++YYCURSOR; #line 576 "../src/ast/lex.re" { return static_cast('\r'); } -#line 2693 "src/ast/lex.cc" -yy442: +#line 2695 "src/ast/lex.cc" +yy443: ++YYCURSOR; #line 577 "../src/ast/lex.re" { return static_cast('\t'); } -#line 2698 "src/ast/lex.cc" -yy444: +#line 2700 "src/ast/lex.cc" +yy445: ++YYCURSOR; #line 578 "../src/ast/lex.re" { return static_cast('\v'); } -#line 2703 "src/ast/lex.cc" -yy446: +#line 2705 "src/ast/lex.cc" +yy447: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych <= '/') goto yy428; - if (yych <= '9') goto yy451; - goto yy428; + if (yych <= '/') goto yy429; + if (yych <= '9') goto yy452; + goto yy429; } else { - if (yych <= 'F') goto yy451; - if (yych <= '`') goto yy428; - if (yych <= 'f') goto yy451; - goto yy428; + if (yych <= 'F') goto yy452; + if (yych <= '`') goto yy429; + if (yych <= 'f') goto yy452; + goto yy429; } -yy447: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '/') goto yy448; - if (yych <= '7') goto yy452; yy448: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= '/') goto yy449; + if (yych <= '7') goto yy453; +yy449: YYCURSOR = YYMARKER; if (yyaccept == 0) { - goto yy425; - } else { - goto yy428; - } -yy449: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= '@') { - if (yych <= '/') goto yy448; - if (yych <= '9') goto yy454; - goto yy448; + goto yy426; } else { - if (yych <= 'F') goto yy454; - if (yych <= '`') goto yy448; - if (yych <= 'f') goto yy454; - goto yy448; + goto yy429; } yy450: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy448; + if (yych <= '/') goto yy449; if (yych <= '9') goto yy455; - goto yy448; + goto yy449; } else { if (yych <= 'F') goto yy455; - if (yych <= '`') goto yy448; + if (yych <= '`') goto yy449; if (yych <= 'f') goto yy455; - goto yy448; + goto yy449; } yy451: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy448; + if (yych <= '/') goto yy449; if (yych <= '9') goto yy456; - goto yy448; + goto yy449; } else { if (yych <= 'F') goto yy456; - if (yych <= '`') goto yy448; + if (yych <= '`') goto yy449; if (yych <= 'f') goto yy456; - goto yy448; + goto yy449; } yy452: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy449; + if (yych <= '9') goto yy457; + goto yy449; + } else { + if (yych <= 'F') goto yy457; + if (yych <= '`') goto yy449; + if (yych <= 'f') goto yy457; + goto yy449; + } +yy453: ++YYCURSOR; #line 571 "../src/ast/lex.re" { return unesc_oct(tok, cur); } -#line 2768 "src/ast/lex.cc" -yy454: +#line 2770 "src/ast/lex.cc" +yy455: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy448; - if (yych <= '9') goto yy458; - goto yy448; + if (yych <= '/') goto yy449; + if (yych <= '9') goto yy459; + goto yy449; } else { - if (yych <= 'F') goto yy458; - if (yych <= '`') goto yy448; - if (yych <= 'f') goto yy458; - goto yy448; + if (yych <= 'F') goto yy459; + if (yych <= '`') goto yy449; + if (yych <= 'f') goto yy459; + goto yy449; } -yy455: +yy456: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy448; - if (yych <= '9') goto yy451; - goto yy448; + if (yych <= '/') goto yy449; + if (yych <= '9') goto yy452; + goto yy449; } else { - if (yych <= 'F') goto yy451; - if (yych <= '`') goto yy448; - if (yych <= 'f') goto yy451; - goto yy448; + if (yych <= 'F') goto yy452; + if (yych <= '`') goto yy449; + if (yych <= 'f') goto yy452; + goto yy449; } -yy456: +yy457: ++YYCURSOR; #line 570 "../src/ast/lex.re" { return unesc_hex(tok, cur); } -#line 2797 "src/ast/lex.cc" -yy458: +#line 2799 "src/ast/lex.cc" +yy459: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy448; - if (yych >= ':') goto yy448; + if (yych <= '/') goto yy449; + if (yych >= ':') goto yy449; } else { - if (yych <= 'F') goto yy459; - if (yych <= '`') goto yy448; - if (yych >= 'g') goto yy448; + if (yych <= 'F') goto yy460; + if (yych <= '`') goto yy449; + if (yych >= 'g') goto yy449; } -yy459: +yy460: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy448; - if (yych <= '9') goto yy450; - goto yy448; + if (yych <= '/') goto yy449; + if (yych <= '9') goto yy451; + goto yy449; } else { - if (yych <= 'F') goto yy450; - if (yych <= '`') goto yy448; - if (yych <= 'f') goto yy450; - goto yy448; + if (yych <= 'F') goto yy451; + if (yych <= '`') goto yy449; + if (yych <= 'f') goto yy451; + goto yy449; } } #line 586 "../src/ast/lex.re" @@ -2837,7 +2839,7 @@ void Scanner::set_sourceline () sourceline: tok = cur; -#line 2841 "src/ast/lex.cc" +#line 2843 "src/ast/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2877,21 +2879,21 @@ sourceline: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych <= '!') { - if (yych == '\n') goto yy464; + if (yych == '\n') goto yy465; } else { - if (yych <= '"') goto yy466; - if (yych <= '0') goto yy462; - if (yych <= '9') goto yy467; + if (yych <= '"') goto yy467; + if (yych <= '0') goto yy463; + if (yych <= '9') goto yy468; } -yy462: - ++YYCURSOR; yy463: + ++YYCURSOR; +yy464: #line 628 "../src/ast/lex.re" { goto sourceline; } -#line 2894 "src/ast/lex.cc" -yy464: +#line 2896 "src/ast/lex.cc" +yy465: ++YYCURSOR; #line 616 "../src/ast/lex.re" { @@ -2906,17 +2908,17 @@ yy464: tok = cur; return; } -#line 2910 "src/ast/lex.cc" -yy466: - yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == '\n') goto yy463; - goto yy471; +#line 2912 "src/ast/lex.cc" yy467: + yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); + if (yych == '\n') goto yy464; + goto yy472; +yy468: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { - goto yy467; + goto yy468; } #line 605 "../src/ast/lex.re" { @@ -2926,35 +2928,35 @@ yy467: } goto sourceline; } -#line 2930 "src/ast/lex.cc" -yy470: +#line 2932 "src/ast/lex.cc" +yy471: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; -yy471: +yy472: if (yybm[0+yych] & 128) { - goto yy470; + goto yy471; } - if (yych <= '\n') goto yy472; - if (yych <= '"') goto yy473; - goto yy475; -yy472: - YYCURSOR = YYMARKER; - goto yy463; + if (yych <= '\n') goto yy473; + if (yych <= '"') goto yy474; + goto yy476; yy473: + YYCURSOR = YYMARKER; + goto yy464; +yy474: ++YYCURSOR; #line 612 "../src/ast/lex.re" { escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes goto sourceline; } -#line 2952 "src/ast/lex.cc" -yy475: +#line 2954 "src/ast/lex.cc" +yy476: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; - if (yych == '\n') goto yy472; - goto yy470; + if (yych == '\n') goto yy473; + goto yy471; } #line 631 "../src/ast/lex.re" diff --git a/re2c/bootstrap/src/ast/lex_conf.cc b/re2c/bootstrap/src/ast/lex_conf.cc index bd18aee9..5e8db4b8 100644 --- a/re2c/bootstrap/src/ast/lex_conf.cc +++ b/re2c/bootstrap/src/ast/lex_conf.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Mon Jul 17 23:05:49 2017 */ +/* Generated by re2c 0.16 on Fri Jul 28 12:23:09 2017 */ #line 1 "../src/ast/lex_conf.re" #include "src/util/c99_stdint.h" #include @@ -966,32 +966,31 @@ yy178: case 'P': goto yy229; case 'R': goto yy230; case 'S': goto yy231; - case 'T': goto yy232; default: goto yy4; } yy179: yych = (unsigned char)*++cur; - if (yych == '-') goto yy233; + if (yych == '-') goto yy232; goto yy4; yy180: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy234; + if (yych == 'e') goto yy233; goto yy4; yy181: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy235; + if (yych == 'p') goto yy234; goto yy4; yy182: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy236; + if (yych == 'u') goto yy235; goto yy4; yy183: yych = (unsigned char)*++cur; - if (yych == '-') goto yy237; + if (yych == '-') goto yy236; goto yy4; yy184: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy238; + if (yych == 'e') goto yy237; goto yy4; yy185: yych = (unsigned char)*++cur; @@ -1001,35 +1000,35 @@ yy185: goto yy99; yy186: yych = (unsigned char)*++cur; - if (yych == 't') goto yy239; + if (yych == 't') goto yy238; goto yy4; yy187: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy240; + if (yych == 'o') goto yy239; goto yy4; yy188: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy241; + if (yych == 'u') goto yy240; goto yy4; yy189: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy242; + if (yych == 'k') goto yy241; goto yy4; yy190: yych = (unsigned char)*++cur; - if (yych == 't') goto yy243; + if (yych == 't') goto yy242; goto yy4; yy191: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy244; + if (yych == 'd') goto yy243; goto yy4; yy192: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy245; + if (yych == 'i') goto yy244; goto yy4; yy193: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy246; + if (yych == 'i') goto yy245; goto yy4; yy194: yych = (unsigned char)*++cur; @@ -1037,63 +1036,63 @@ yy194: goto yy4; yy195: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy247; + if (yych == 'c') goto yy246; goto yy4; yy196: yych = (unsigned char)*++cur; - if (yych == '-') goto yy248; + if (yych == '-') goto yy247; goto yy4; yy197: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy249; + if (yych == 'e') goto yy248; goto yy4; yy198: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy250; + if (yych == 'r') goto yy249; goto yy4; yy199: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy251; + if (yych == 'p') goto yy250; goto yy4; yy200: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy253; + if (yych == 'i') goto yy252; goto yy4; yy201: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy254; + if (yych == 'e') goto yy253; goto yy4; yy202: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy255; + if (yych == 'i') goto yy254; goto yy4; yy203: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy256; + if (yych == 'l') goto yy255; goto yy4; yy204: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy258; + if (yych == 'r') goto yy257; goto yy4; yy205: yych = (unsigned char)*++cur; - if (yych == 't') goto yy259; + if (yych == 't') goto yy258; goto yy4; yy206: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy260; + if (yych == 'e') goto yy259; goto yy4; yy207: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy261; + if (yych == 'i') goto yy260; goto yy4; yy208: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy262; + if (yych == 'y') goto yy261; goto yy4; yy209: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy263; + if (yych == 'e') goto yy262; goto yy4; yy210: yych = (unsigned char)*++cur; @@ -1102,30 +1101,30 @@ yy210: } #line 142 "../src/ast/lex_conf.re" { opts.set_bEmitYYCh (lex_conf_bool()); return; } -#line 1106 "src/ast/lex_conf.cc" +#line 1105 "src/ast/lex_conf.cc" yy212: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy264; + if (yych == 'e') goto yy263; goto yy4; yy213: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy265; + if (yych == 'a') goto yy264; goto yy4; yy214: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy266; + if (yych == 'r') goto yy265; goto yy4; yy215: yych = (unsigned char)*++cur; - if (yych == 's') goto yy267; + if (yych == 's') goto yy266; goto yy4; yy216: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy268; + if (yych == 'e') goto yy267; goto yy4; yy217: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy269; + if (yych == 'c') goto yy268; yy218: cur = mar; if (yyaccept <= 2) { @@ -1133,7 +1132,7 @@ yy218: if (yyaccept == 0) { goto yy175; } else { - goto yy257; + goto yy256; } } else { goto yy326; @@ -1141,17 +1140,17 @@ yy218: } else { if (yyaccept <= 4) { if (yyaccept == 3) { - goto yy392; + goto yy393; } else { - goto yy593; + goto yy596; } } else { - goto yy676; + goto yy675; } } yy219: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy270; + if (yych == 'e') goto yy269; goto yy4; yy220: yych = (unsigned char)*++cur; @@ -1160,41 +1159,42 @@ yy220: } #line 71 "../src/ast/lex_conf.re" { opts.set_condPrefix (lex_conf_string ()); return; } -#line 1164 "src/ast/lex_conf.cc" +#line 1163 "src/ast/lex_conf.cc" yy222: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy271; + if (yych == 'A') goto yy270; goto yy4; yy223: yych = (unsigned char)*++cur; if (yych <= 'S') { - if (yych == 'O') goto yy272; + if (yych == 'O') goto yy271; goto yy4; } else { - if (yych <= 'T') goto yy273; - if (yych <= 'U') goto yy274; + if (yych <= 'T') goto yy272; + if (yych <= 'U') goto yy273; goto yy4; } yy224: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy275; + if (yych == 'E') goto yy274; goto yy4; yy225: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy276; + if (yych == 'I') goto yy275; goto yy4; yy226: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy277; + if (yych == 'E') goto yy276; goto yy4; yy227: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy278; - if (yych == 'I') goto yy279; + if (yych == 'E') goto yy277; + if (yych == 'I') goto yy278; goto yy4; yy228: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy280; + if (yych == 'A') goto yy279; + if (yych == 'T') goto yy280; goto yy4; yy229: yych = (unsigned char)*++cur; @@ -1206,87 +1206,88 @@ yy230: goto yy4; yy231: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy283; - if (yych == 'K') goto yy284; - goto yy4; + if (yych <= 'J') { + if (yych == 'E') goto yy283; + goto yy4; + } else { + if (yych <= 'K') goto yy284; + if (yych == 'T') goto yy285; + goto yy4; + } yy232: - yych = (unsigned char)*++cur; - if (yych == 'A') goto yy285; - goto yy4; -yy233: yych = (unsigned char)*++cur; if (yych == 'v') goto yy286; goto yy4; -yy234: +yy233: yych = (unsigned char)*++cur; if (yych == '-') goto yy287; goto yy4; -yy235: +yy234: yych = (unsigned char)*++cur; if (yych == 'u') goto yy288; goto yy4; -yy236: +yy235: yych = (unsigned char)*++cur; if (yych == 'g') goto yy289; goto yy4; -yy237: +yy236: yych = (unsigned char)*++cur; if (yych == 'm') goto yy290; goto yy4; -yy238: +yy237: yych = (unsigned char)*++cur; if (yych == 'r') goto yy291; goto yy4; -yy239: +yy238: yych = (unsigned char)*++cur; if (yych == 'y') goto yy292; goto yy4; -yy240: +yy239: yych = (unsigned char)*++cur; if (yych == 'd') goto yy293; goto yy4; -yy241: +yy240: yych = (unsigned char)*++cur; if (yych == 't') goto yy294; goto yy4; -yy242: +yy241: yych = (unsigned char)*++cur; if (yych == 'a') goto yy296; goto yy4; -yy243: +yy242: yych = (unsigned char)*++cur; if (yych == 'e') goto yy297; goto yy4; -yy244: +yy243: yych = (unsigned char)*++cur; if (yych == 'e') goto yy298; goto yy4; -yy245: +yy244: yych = (unsigned char)*++cur; if (yych == 'm') goto yy299; goto yy4; -yy246: +yy245: yych = (unsigned char)*++cur; if (yych == 'x') goto yy300; goto yy4; -yy247: +yy246: yych = (unsigned char)*++cur; if (yych == 'o') goto yy301; goto yy4; -yy248: +yy247: yych = (unsigned char)*++cur; if (yych == '1') goto yy302; if (yych == '8') goto yy89; goto yy4; -yy249: +yy248: yych = (unsigned char)*++cur; if (yych == '-') goto yy303; goto yy4; -yy250: +yy249: yych = (unsigned char)*++cur; if (yych == 'i') goto yy304; goto yy4; -yy251: +yy250: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; @@ -1301,20 +1302,20 @@ yy251: opts.set_topIndent (static_cast (n)); return; } -#line 1305 "src/ast/lex_conf.cc" -yy253: +#line 1306 "src/ast/lex_conf.cc" +yy252: yych = (unsigned char)*++cur; if (yych == 'l') goto yy305; goto yy4; -yy254: +yy253: yych = (unsigned char)*++cur; if (yych == 'x') goto yy306; goto yy4; -yy255: +yy254: yych = (unsigned char)*++cur; if (yych == 'x') goto yy307; goto yy4; -yy256: +yy255: yyaccept = 1; yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 32) { @@ -1335,155 +1336,159 @@ yy256: goto yy311; } } -yy257: +yy256: #line 155 "../src/ast/lex_conf.re" { opts.set_startlabel (lex_conf_string()); return; } -#line 1342 "src/ast/lex_conf.cc" -yy258: +#line 1343 "src/ast/lex_conf.cc" +yy257: yych = (unsigned char)*++cur; if (yych == 't') goto yy313; goto yy4; -yy259: +yy258: yych = (unsigned char)*++cur; if (yych == 'l') goto yy315; goto yy4; -yy260: +yy259: yych = (unsigned char)*++cur; if (yych == 's') goto yy316; goto yy4; -yy261: +yy260: yych = (unsigned char)*++cur; if (yych == 'x') goto yy317; goto yy4; -yy262: +yy261: yych = (unsigned char)*++cur; if (yych == 'y') goto yy319; goto yy4; -yy263: +yy262: yych = (unsigned char)*++cur; if (yych == 'r') goto yy320; goto yy4; -yy264: +yy263: yych = (unsigned char)*++cur; if (yych == 'c') goto yy321; goto yy4; -yy265: +yy264: yych = (unsigned char)*++cur; if (yych == 'b') goto yy322; goto yy4; -yy266: +yy265: yych = (unsigned char)*++cur; if (yych == 'a') goto yy323; goto yy4; -yy267: +yy266: yych = (unsigned char)*++cur; if (yych == 'h') goto yy324; goto yy4; -yy268: +yy267: yych = (unsigned char)*++cur; if (yych == 'r') goto yy325; goto yy4; -yy269: +yy268: yych = (unsigned char)*++cur; if (yych == 'o') goto yy327; goto yy218; -yy270: +yy269: yych = (unsigned char)*++cur; if (yych == 'f') goto yy328; goto yy4; -yy271: +yy270: yych = (unsigned char)*++cur; if (yych == 'C') goto yy329; goto yy4; -yy272: +yy271: yych = (unsigned char)*++cur; if (yych == 'N') goto yy330; goto yy4; -yy273: +yy272: yych = (unsigned char)*++cur; if (yych <= 'W') goto yy4; if (yych <= 'X') goto yy331; if (yych <= 'Y') goto yy332; goto yy4; -yy274: +yy273: yych = (unsigned char)*++cur; if (yych == 'R') goto yy333; goto yy4; -yy275: +yy274: yych = (unsigned char)*++cur; if (yych == 'B') goto yy334; goto yy4; -yy276: +yy275: yych = (unsigned char)*++cur; if (yych == 'L') goto yy335; goto yy4; -yy277: +yy276: yych = (unsigned char)*++cur; if (yych == 'T') goto yy336; goto yy4; -yy278: +yy277: yych = (unsigned char)*++cur; if (yych == 'S') goto yy337; goto yy4; -yy279: +yy278: yych = (unsigned char)*++cur; if (yych == 'M') goto yy338; goto yy4; -yy280: +yy279: yych = (unsigned char)*++cur; if (yych == 'R') goto yy339; goto yy4; +yy280: + yych = (unsigned char)*++cur; + if (yych == 'A') goto yy340; + goto yy4; yy281: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy340; + if (yych == 'E') goto yy341; goto yy4; yy282: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy341; + if (yych == 'S') goto yy342; goto yy4; yy283: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy342; + if (yych == 'T') goto yy343; goto yy4; yy284: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy343; + if (yych == 'I') goto yy344; goto yy4; yy285: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy344; + if (yych == 'A') goto yy345; goto yy4; yy286: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy345; + if (yych == 'e') goto yy346; goto yy4; yy287: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy346; + if (yych == 'i') goto yy347; goto yy4; yy288: yych = (unsigned char)*++cur; - if (yych == 't') goto yy347; + if (yych == 't') goto yy348; goto yy4; yy289: yych = (unsigned char)*++cur; - if (yych == '-') goto yy348; + if (yych == '-') goto yy349; goto yy4; yy290: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy349; + if (yych == 'i') goto yy350; goto yy4; yy291: yych = (unsigned char)*++cur; - if (yych == '-') goto yy350; + if (yych == '-') goto yy351; goto yy4; yy292: yych = (unsigned char)*++cur; - if (yych == '-') goto yy351; + if (yych == '-') goto yy352; goto yy4; yy293: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy352; + if (yych == 'i') goto yy353; goto yy4; yy294: yych = (unsigned char)*++cur; @@ -1492,30 +1497,30 @@ yy294: } #line 61 "../src/ast/lex_conf.re" { lex_conf_input(opts); return; } -#line 1496 "src/ast/lex_conf.cc" +#line 1501 "src/ast/lex_conf.cc" yy296: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy353; + if (yych == 'h') goto yy354; goto yy4; yy297: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy354; + if (yych == 'd') goto yy355; goto yy4; yy298: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy355; + if (yych == 'b') goto yy356; goto yy4; yy299: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy356; + if (yych == 'i') goto yy357; goto yy4; yy300: yych = (unsigned char)*++cur; - if (yych == '-') goto yy357; + if (yych == '-') goto yy358; goto yy4; yy301: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy358; + if (yych == 'd') goto yy359; goto yy4; yy302: yych = (unsigned char)*++cur; @@ -1523,19 +1528,19 @@ yy302: goto yy4; yy303: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy359; + if (yych == 'c') goto yy360; goto yy4; yy304: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy360; + if (yych == 'n') goto yy361; goto yy4; yy305: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy361; + if (yych == 'l') goto yy362; goto yy4; yy306: yych = (unsigned char)*++cur; - if (yych == 't') goto yy362; + if (yych == 't') goto yy363; goto yy4; yy307: yych = (unsigned char)*++cur; @@ -1544,7 +1549,7 @@ yy307: } #line 151 "../src/ast/lex_conf.re" { opts.set_labelPrefix (lex_conf_string ()); return; } -#line 1548 "src/ast/lex_conf.cc" +#line 1553 "src/ast/lex_conf.cc" yy309: ++cur; if (lim <= cur) fill(1); @@ -1567,11 +1572,11 @@ yy311: } } else { if (yych <= '/') { - if (yych <= '-') goto yy364; + if (yych <= '-') goto yy365; goto yy218; } else { - if (yych <= '0') goto yy365; - if (yych <= '9') goto yy367; + if (yych <= '0') goto yy366; + if (yych <= '9') goto yy368; goto yy218; } } @@ -1582,14 +1587,14 @@ yy313: } #line 86 "../src/ast/lex_conf.re" { opts.set_bUseStateAbort (lex_conf_bool()); return; } -#line 1586 "src/ast/lex_conf.cc" +#line 1591 "src/ast/lex_conf.cc" yy315: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy369; + if (yych == 'a') goto yy370; goto yy4; yy316: yych = (unsigned char)*++cur; - if (yych == 's') goto yy370; + if (yych == 's') goto yy371; goto yy4; yy317: yych = (unsigned char)*++cur; @@ -1598,39 +1603,39 @@ yy317: } #line 122 "../src/ast/lex_conf.re" { opts.set_tags_prefix (lex_conf_string ()); return; } -#line 1602 "src/ast/lex_conf.cc" +#line 1607 "src/ast/lex_conf.cc" yy319: yych = (unsigned char)*++cur; if (yych <= 'c') { if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy371; - if (yych <= 'b') goto yy372; - goto yy373; + if (yych <= 'a') goto yy372; + if (yych <= 'b') goto yy373; + goto yy374; } else { if (yych <= 'r') goto yy4; - if (yych <= 's') goto yy374; - if (yych <= 't') goto yy375; + if (yych <= 's') goto yy375; + if (yych <= 't') goto yy376; goto yy4; } yy320: yych = (unsigned char)*++cur; - if (yych == 's') goto yy376; + if (yych == 's') goto yy377; goto yy4; yy321: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy377; + if (yych == 'k') goto yy378; goto yy4; yy322: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy379; + if (yych == 'l') goto yy380; goto yy4; yy323: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy380; + if (yych == 'm') goto yy381; goto yy4; yy324: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy381; + if (yych == 'o') goto yy382; goto yy4; yy325: yyaccept = 2; @@ -1638,277 +1643,275 @@ yy325: if (yybm[0+yych] & 32) { goto yy3; } - if (yych == '@') goto yy382; + if (yych == '@') goto yy383; yy326: #line 73 "../src/ast/lex_conf.re" { opts.set_condDivider (lex_conf_string ()); return; } -#line 1646 "src/ast/lex_conf.cc" +#line 1651 "src/ast/lex_conf.cc" yy327: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy383; + if (yych == 'n') goto yy384; goto yy218; yy328: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy384; + if (yych == 'i') goto yy385; goto yy4; yy329: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy385; + if (yych == 'K') goto yy386; goto yy4; yy330: yych = (unsigned char)*++cur; - if (yych == 'D') goto yy386; + if (yych == 'D') goto yy387; goto yy4; yy331: yych = (unsigned char)*++cur; - if (yych == 'M') goto yy387; + if (yych == 'M') goto yy388; goto yy4; yy332: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy388; + if (yych == 'P') goto yy389; goto yy4; yy333: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy389; + if (yych == 'S') goto yy390; goto yy4; yy334: yych = (unsigned char)*++cur; - if (yych == 'U') goto yy390; + if (yych == 'U') goto yy391; goto yy4; yy335: yych = (unsigned char)*++cur; - if (yych == 'L') goto yy391; + if (yych == 'L') goto yy392; goto yy4; yy336: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy393; - if (yych == 'S') goto yy394; + if (yych == 'C') goto yy394; + if (yych == 'S') goto yy395; goto yy4; yy337: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy395; + if (yych == 'S') goto yy396; goto yy4; yy338: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy396; + if (yych == 'I') goto yy397; goto yy4; yy339: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy397; + if (yych == 'K') goto yy398; goto yy4; yy340: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy398; + if (yych == 'G') goto yy399; goto yy4; yy341: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy400; + if (yych == 'K') goto yy400; goto yy4; yy342: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy401; - if (yych == 'S') goto yy402; + if (yych == 'T') goto yy402; goto yy4; yy343: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy403; + if (yych == 'C') goto yy403; + if (yych == 'S') goto yy404; goto yy4; yy344: yych = (unsigned char)*++cur; - if (yych <= 'M') { - if (yych == 'L') goto yy405; - goto yy4; - } else { - if (yych <= 'N') goto yy406; - if (yych == 'P') goto yy408; - goto yy4; - } + if (yych == 'P') goto yy405; + goto yy4; yy345: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy410; + if (yych == 'G') goto yy407; goto yy4; yy346: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy411; + if (yych == 'c') goto yy408; goto yy4; yy347: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy412; + if (yych == 'n') goto yy409; goto yy4; yy348: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy413; + if (yych == 'e') goto yy410; goto yy4; yy349: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy414; + if (yych == 'o') goto yy411; goto yy4; yy350: yych = (unsigned char)*++cur; - if (yych == 's') goto yy415; + if (yych == 'n') goto yy412; goto yy4; yy351: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy416; + if (yych == 's') goto yy413; goto yy4; yy352: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy417; + if (yych == 'c') goto yy414; goto yy4; yy353: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy418; + if (yych == 'n') goto yy415; goto yy4; yy354: yych = (unsigned char)*++cur; - if (yych == '-') goto yy419; + if (yych == 'e') goto yy416; goto yy4; yy355: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy420; + if (yych == '-') goto yy417; goto yy4; yy356: yych = (unsigned char)*++cur; - if (yych == 'z') goto yy421; + if (yych == 'u') goto yy418; goto yy4; yy357: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy422; + if (yych == 'z') goto yy419; goto yy4; yy358: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy423; + if (yych == 'c') goto yy420; goto yy4; yy359: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy424; + if (yych == 'e') goto yy421; goto yy4; yy360: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy425; + if (yych == 'h') goto yy422; goto yy4; yy361: yych = (unsigned char)*++cur; - if (yych == 'L') goto yy427; + if (yych == 'g') goto yy423; goto yy4; yy362: + yych = (unsigned char)*++cur; + if (yych == 'L') goto yy425; + goto yy4; +yy363: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 85 "../src/ast/lex_conf.re" { opts.set_yynext (lex_conf_string ()); return; } -#line 1802 "src/ast/lex_conf.cc" -yy364: +#line 1805 "src/ast/lex_conf.cc" +yy365: yych = (unsigned char)*++cur; if (yych <= '0') goto yy218; - if (yych <= '9') goto yy367; + if (yych <= '9') goto yy368; goto yy218; -yy365: - ++cur; yy366: + ++cur; +yy367: cur = ctx; #line 154 "../src/ast/lex_conf.re" { opts.set_startlabel_force (lex_conf_bool()); return; } -#line 1814 "src/ast/lex_conf.cc" -yy367: +#line 1817 "src/ast/lex_conf.cc" +yy368: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy367; + goto yy368; } - goto yy366; -yy369: - yych = (unsigned char)*++cur; - if (yych == 'b') goto yy428; - goto yy4; + goto yy367; yy370: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy429; + if (yych == 'b') goto yy426; goto yy4; yy371: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy430; + if (yych == 'i') goto yy427; goto yy4; yy372: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy431; + if (yych == 'c') goto yy428; goto yy4; yy373: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy433; - if (yych == 't') goto yy435; + if (yych == 'm') goto yy429; goto yy4; yy374: yych = (unsigned char)*++cur; - if (yych == 't') goto yy436; + if (yych == 'h') goto yy431; + if (yych == 't') goto yy433; goto yy4; yy375: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy437; + if (yych == 't') goto yy434; goto yy4; yy376: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy438; + if (yych == 'a') goto yy435; goto yy4; yy377: + yych = (unsigned char)*++cur; + if (yych == 'i') goto yy436; + goto yy4; +yy378: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 149 "../src/ast/lex_conf.re" { opts.set_fill_check (lex_conf_bool()); return; } -#line 1863 "src/ast/lex_conf.cc" -yy379: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy439; - goto yy4; +#line 1866 "src/ast/lex_conf.cc" yy380: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy441; + if (yych == 'e') goto yy437; goto yy4; yy381: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy442; + if (yych == 'e') goto yy439; goto yy4; yy382: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy443; - goto yy218; + if (yych == 'l') goto yy440; + goto yy4; yy383: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy444; + if (yych == 'c') goto yy441; goto yy218; yy384: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy446; - goto yy4; + if (yych == 'd') goto yy442; + goto yy218; yy385: yych = (unsigned char)*++cur; - if (yych == 'U') goto yy448; + if (yych == 'x') goto yy444; goto yy4; yy386: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy449; + if (yych == 'U') goto yy446; goto yy4; yy387: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy450; + if (yych == 'T') goto yy447; goto yy4; yy388: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy451; + if (yych == 'A') goto yy448; goto yy4; yy389: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy453; + if (yych == 'E') goto yy449; goto yy4; yy390: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy454; + if (yych == 'O') goto yy451; goto yy4; yy391: + yych = (unsigned char)*++cur; + if (yych == 'G') goto yy452; + goto yy4; +yy392: yyaccept = 3; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -1916,418 +1919,436 @@ yy391: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy456; + if (yych <= ':') goto yy454; } } else { if (yych <= '^') { - if (yych <= '@') goto yy457; + if (yych <= '@') goto yy455; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy392; + if (yych == '`') goto yy393; if (yych <= 'z') goto yy3; } } -yy392: +yy393: #line 144 "../src/ast/lex_conf.re" { opts.set_fill (lex_conf_string ()); return; } -#line 1934 "src/ast/lex_conf.cc" -yy393: - yych = (unsigned char)*++cur; - if (yych == 'O') goto yy458; - goto yy4; +#line 1937 "src/ast/lex_conf.cc" yy394: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy459; + if (yych == 'O') goto yy456; goto yy4; yy395: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy460; + if (yych == 'T') goto yy457; goto yy4; yy396: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy461; + if (yych == 'T') goto yy458; goto yy4; yy397: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy463; + if (yych == 'T') goto yy459; goto yy4; yy398: + yych = (unsigned char)*++cur; + if (yych == 'E') goto yy461; + goto yy4; +yy399: + yych = (unsigned char)*++cur; + if (yych == 'N') goto yy462; + if (yych == 'P') goto yy464; + goto yy4; +yy400: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 109 "../src/ast/lex_conf.re" { opts.set_yypeek (lex_conf_string ()); return; } -#line 1962 "src/ast/lex_conf.cc" -yy400: +#line 1970 "src/ast/lex_conf.cc" +yy402: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy464; + if (yych == 'O') goto yy466; goto yy4; -yy401: +yy403: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy465; + if (yych == 'O') goto yy467; goto yy4; -yy402: +yy404: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy466; + if (yych == 'T') goto yy468; goto yy4; -yy403: +yy405: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 110 "../src/ast/lex_conf.re" { opts.set_yyskip (lex_conf_string ()); return; } -#line 1982 "src/ast/lex_conf.cc" -yy405: +#line 1990 "src/ast/lex_conf.cc" +yy407: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy467; + if (yych == 'N') goto yy469; + if (yych == 'P') goto yy471; goto yy4; -yy406: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 117 "../src/ast/lex_conf.re" - { opts.set_yytagn (lex_conf_string ()); return; } -#line 1994 "src/ast/lex_conf.cc" yy408: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 118 "../src/ast/lex_conf.re" - { opts.set_yytagp (lex_conf_string ()); return; } -#line 2002 "src/ast/lex_conf.cc" + if (yych == 't') goto yy473; + goto yy4; +yy409: + yych = (unsigned char)*++cur; + if (yych == 's') goto yy474; + if (yych == 'v') goto yy475; + goto yy4; yy410: yych = (unsigned char)*++cur; - if (yych == 't') goto yy468; + if (yych == 'd') goto yy476; goto yy4; yy411: yych = (unsigned char)*++cur; - if (yych == 's') goto yy469; - if (yych == 'v') goto yy470; + if (yych == 'u') goto yy477; goto yy4; yy412: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy471; + if (yych == 'i') goto yy478; goto yy4; yy413: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy472; + if (yych == 'k') goto yy479; goto yy4; yy414: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy473; + if (yych == 'l') goto yy480; goto yy4; yy415: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy474; + if (yych == 'g') goto yy481; goto yy4; yy416: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy475; + if (yych == 'a') goto yy482; goto yy4; yy417: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy476; + if (yych == 'i') goto yy483; goto yy4; yy418: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy477; + if (yych == 'g') goto yy484; goto yy4; yy419: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy478; + if (yych == 'e') goto yy485; goto yy4; yy420: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy479; + if (yych == 'a') goto yy486; goto yy4; yy421: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy480; - goto yy4; -yy422: - yych = (unsigned char)*++cur; - if (yych == 'a') goto yy481; - goto yy4; -yy423: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } goto yy112; -yy424: +yy422: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy482; + if (yych == 'a') goto yy487; goto yy4; -yy425: +yy423: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 125 "../src/ast/lex_conf.re" { opts.set_indString (lex_conf_string ()); return; } -#line 2073 "src/ast/lex_conf.cc" -yy427: +#line 2066 "src/ast/lex_conf.cc" +yy425: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy483; + if (yych == 'a') goto yy488; goto yy4; -yy428: +yy426: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy484; + if (yych == 'e') goto yy489; goto yy4; -yy429: +yy427: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy485; + if (yych == 'o') goto yy490; goto yy4; -yy430: +yy428: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy486; + if (yych == 'c') goto yy491; goto yy4; -yy431: +yy429: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 90 "../src/ast/lex_conf.re" { opts.set_yybm (lex_conf_string ()); return; } -#line 2097 "src/ast/lex_conf.cc" -yy433: +#line 2090 "src/ast/lex_conf.cc" +yy431: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 140 "../src/ast/lex_conf.re" { opts.set_yych (lex_conf_string ()); return; } -#line 2105 "src/ast/lex_conf.cc" -yy435: +#line 2098 "src/ast/lex_conf.cc" +yy433: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy487; + if (yych == 'a') goto yy492; goto yy4; -yy436: +yy434: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy488; + if (yych == 'a') goto yy493; goto yy4; -yy437: +yy435: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy489; + if (yych == 'r') goto yy494; goto yy4; -yy438: +yy436: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy490; + if (yych == 'o') goto yy495; goto yy4; -yy439: +yy437: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 145 "../src/ast/lex_conf.re" { opts.set_fill_use (lex_conf_bool()); return; } -#line 2129 "src/ast/lex_conf.cc" -yy441: +#line 2122 "src/ast/lex_conf.cc" +yy439: yych = (unsigned char)*++cur; - if (yych == 't') goto yy491; + if (yych == 't') goto yy496; goto yy4; -yy442: +yy440: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy492; + if (yych == 'd') goto yy497; goto yy4; -yy443: +yy441: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy494; + if (yych == 'o') goto yy499; goto yy218; -yy444: +yy442: ++cur; #line 76 "../src/ast/lex_conf.re" { opts.set_condGotoParam (lex_conf_string ()); return; } -#line 2146 "src/ast/lex_conf.cc" -yy446: +#line 2139 "src/ast/lex_conf.cc" +yy444: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 72 "../src/ast/lex_conf.re" { opts.set_condEnumPrefix (lex_conf_string ()); return; } -#line 2154 "src/ast/lex_conf.cc" -yy448: +#line 2147 "src/ast/lex_conf.cc" +yy446: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy495; + if (yych == 'P') goto yy500; goto yy4; -yy449: +yy447: yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy497; + if (yych == 'Y') goto yy502; goto yy4; -yy450: +yy448: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy498; + if (yych == 'R') goto yy503; goto yy4; -yy451: +yy449: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 139 "../src/ast/lex_conf.re" { opts.set_yyctype (lex_conf_string ()); return; } -#line 2174 "src/ast/lex_conf.cc" -yy453: +#line 2167 "src/ast/lex_conf.cc" +yy451: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy499; + if (yych == 'R') goto yy504; goto yy4; -yy454: +yy452: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 137 "../src/ast/lex_conf.re" { opts.set_yydebug (lex_conf_string ()); return; } -#line 2186 "src/ast/lex_conf.cc" -yy456: +#line 2179 "src/ast/lex_conf.cc" +yy454: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy501; + if (yych == 'n') goto yy506; goto yy4; -yy457: +yy455: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy502; + if (yych == 'l') goto yy507; goto yy218; -yy458: +yy456: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy503; + if (yych == 'N') goto yy508; goto yy4; -yy459: +yy457: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy504; + if (yych == 'A') goto yy509; goto yy4; -yy460: +yy458: yych = (unsigned char)*++cur; - if (yych == 'H') goto yy505; + if (yych == 'H') goto yy510; goto yy4; -yy461: +yy459: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 107 "../src/ast/lex_conf.re" { opts.set_yylimit (lex_conf_string ()); return; } -#line 2214 "src/ast/lex_conf.cc" -yy463: +#line 2207 "src/ast/lex_conf.cc" +yy461: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy506; + if (yych == 'R') goto yy511; goto yy4; -yy464: +yy462: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy508; - goto yy4; -yy465: + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 119 "../src/ast/lex_conf.re" + { opts.set_yymtagn (lex_conf_string ()); return; } +#line 2219 "src/ast/lex_conf.cc" +yy464: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy509; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 120 "../src/ast/lex_conf.re" + { opts.set_yymtagp (lex_conf_string ()); return; } +#line 2227 "src/ast/lex_conf.cc" yy466: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy510; + if (yych == 'R') goto yy513; goto yy4; yy467: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy511; + if (yych == 'N') goto yy514; goto yy4; yy468: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy512; + if (yych == 'A') goto yy515; goto yy4; yy469: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy513; - goto yy4; -yy470: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy514; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 117 "../src/ast/lex_conf.re" + { opts.set_yystagn (lex_conf_string ()); return; } +#line 2247 "src/ast/lex_conf.cc" yy471: yych = (unsigned char)*++cur; - if (yych == '-') goto yy515; - goto yy4; -yy472: - yych = (unsigned char)*++cur; - if (yych == 't') goto yy516; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 118 "../src/ast/lex_conf.re" + { opts.set_yystagp (lex_conf_string ()); return; } +#line 2255 "src/ast/lex_conf.cc" yy473: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy517; + if (yych == 'o') goto yy516; goto yy4; yy474: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy518; + if (yych == 'e') goto yy517; goto yy4; yy475: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy519; + if (yych == 'e') goto yy518; goto yy4; yy476: yych = (unsigned char)*++cur; - if (yych == '-') goto yy520; + if (yych == '-') goto yy519; goto yy4; yy477: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy521; + if (yych == 't') goto yy520; goto yy4; yy478: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy523; + if (yych == 'm') goto yy521; goto yy4; yy479: yych = (unsigned char)*++cur; - if (yych == '-') goto yy524; + if (yych == 'i') goto yy522; goto yy4; yy480: yych = (unsigned char)*++cur; - if (yych == '-') goto yy525; + if (yych == 'a') goto yy523; goto yy4; yy481: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy526; + if (yych == '-') goto yy524; goto yy4; yy482: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy527; + if (yych == 'd') goto yy525; goto yy4; yy483: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy528; + if (yych == 'f') goto yy527; goto yy4; yy484: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy529; + if (yych == '-') goto yy528; goto yy4; yy485: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy531; + if (yych == '-') goto yy529; goto yy4; yy486: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy533; + if (yych == 'p') goto yy530; goto yy4; yy487: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy534; + if (yych == 'r') goto yy531; goto yy4; yy488: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy535; + if (yych == 'b') goto yy532; goto yy4; yy489: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy536; + if (yych == 'l') goto yy533; goto yy4; yy490: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy537; + if (yych == 'n') goto yy535; goto yy4; yy491: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy539; + if (yych == 'e') goto yy537; goto yy4; yy492: + yych = (unsigned char)*++cur; + if (yych == 'b') goto yy538; + goto yy4; +yy493: + yych = (unsigned char)*++cur; + if (yych == 'b') goto yy539; + goto yy4; +yy494: + yych = (unsigned char)*++cur; + if (yych == 'g') goto yy540; + goto yy4; +yy495: + yych = (unsigned char)*++cur; + if (yych == 'n') goto yy541; + goto yy4; +yy496: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy543; + goto yy4; +yy497: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; @@ -2342,12 +2363,12 @@ yy492: opts.set_cGotoThreshold (static_cast (n)); return; } -#line 2346 "src/ast/lex_conf.cc" -yy494: +#line 2367 "src/ast/lex_conf.cc" +yy499: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy540; + if (yych == 'n') goto yy544; goto yy218; -yy495: +yy500: yych = (unsigned char)*++cur; if (yych <= 'B') { if (yych <= '/') { @@ -2358,425 +2379,416 @@ yy495: } } else { if (yych <= '^') { - if (yych <= 'C') goto yy541; + if (yych <= 'C') goto yy545; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy496; + if (yych == '`') goto yy501; if (yych <= 'z') goto yy3; } } -yy496: +yy501: #line 111 "../src/ast/lex_conf.re" { opts.set_yybackup (lex_conf_string ()); return; } -#line 2372 "src/ast/lex_conf.cc" -yy497: +#line 2393 "src/ast/lex_conf.cc" +yy502: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy542; + if (yych == 'P') goto yy546; goto yy4; -yy498: +yy503: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy543; + if (yych == 'K') goto yy547; goto yy4; -yy499: +yy504: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 104 "../src/ast/lex_conf.re" { opts.set_yycursor (lex_conf_string ()); return; } -#line 2388 "src/ast/lex_conf.cc" -yy501: +#line 2409 "src/ast/lex_conf.cc" +yy506: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy544; + if (yych == 'a') goto yy548; goto yy4; -yy502: +yy507: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy545; + if (yych == 'e') goto yy549; goto yy218; -yy503: +yy508: yych = (unsigned char)*++cur; - if (yych == 'D') goto yy546; + if (yych == 'D') goto yy550; goto yy4; -yy504: +yy509: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy547; + if (yych == 'T') goto yy551; goto yy4; -yy505: +yy510: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy548; + if (yych == 'A') goto yy552; goto yy4; -yy506: +yy511: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 105 "../src/ast/lex_conf.re" { opts.set_yymarker (lex_conf_string ()); return; } -#line 2416 "src/ast/lex_conf.cc" -yy508: - yych = (unsigned char)*++cur; - if (yych == 'E') goto yy549; - goto yy4; -yy509: - yych = (unsigned char)*++cur; - if (yych == 'D') goto yy551; - goto yy4; -yy510: - yych = (unsigned char)*++cur; - if (yych == 'T') goto yy552; - goto yy4; -yy511: - yych = (unsigned char)*++cur; - if (yych == 'T') goto yy553; - goto yy4; -yy512: - yych = (unsigned char)*++cur; - if (yych == 'r') goto yy554; - goto yy4; +#line 2437 "src/ast/lex_conf.cc" yy513: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy555; + if (yych == 'E') goto yy553; goto yy4; yy514: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy556; + if (yych == 'D') goto yy555; goto yy4; yy515: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy557; + if (yych == 'T') goto yy556; goto yy4; yy516: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy558; + if (yych == 'r') goto yy557; goto yy4; yy517: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy559; + if (yych == 'n') goto yy558; goto yy4; yy518: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy560; + if (yych == 'r') goto yy559; goto yy4; yy519: yych = (unsigned char)*++cur; - if (yych == 's') goto yy562; + if (yych == 'g') goto yy560; goto yy4; yy520: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy563; + if (yych == 'p') goto yy561; goto yy4; yy521: + yych = (unsigned char)*++cur; + if (yych == 'i') goto yy562; + goto yy4; +yy522: + yych = (unsigned char)*++cur; + if (yych == 'p') goto yy563; + goto yy4; +yy523: + yych = (unsigned char)*++cur; + if (yych == 's') goto yy565; + goto yy4; +yy524: + yych = (unsigned char)*++cur; + if (yych == 'p') goto yy566; + goto yy4; +yy525: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 50 "../src/ast/lex_conf.re" { opts.set_lookahead(lex_conf_bool()); return; } -#line 2476 "src/ast/lex_conf.cc" -yy523: +#line 2493 "src/ast/lex_conf.cc" +yy527: yych = (unsigned char)*++cur; if (yych == 's') goto yy108; goto yy4; -yy524: +yy528: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy564; + if (yych == 'i') goto yy567; goto yy4; -yy525: +yy529: yych = (unsigned char)*++cur; - if (yych == 't') goto yy565; + if (yych == 't') goto yy568; goto yy4; -yy526: +yy530: yych = (unsigned char)*++cur; - if (yych == 't') goto yy566; + if (yych == 't') goto yy569; goto yy4; -yy527: +yy531: yych = (unsigned char)*++cur; - if (yych == 's') goto yy567; + if (yych == 's') goto yy570; goto yy4; -yy528: +yy532: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy568; + if (yych == 'e') goto yy571; goto yy4; -yy529: +yy533: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 87 "../src/ast/lex_conf.re" { opts.set_bUseStateNext (lex_conf_bool()); return; } -#line 2508 "src/ast/lex_conf.cc" -yy531: +#line 2525 "src/ast/lex_conf.cc" +yy535: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 123 "../src/ast/lex_conf.re" { opts.set_tags_expression(lex_conf_string ()); return; } -#line 2516 "src/ast/lex_conf.cc" -yy533: +#line 2533 "src/ast/lex_conf.cc" +yy537: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy569; + if (yych == 'p') goto yy572; goto yy4; -yy534: +yy538: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy570; + if (yych == 'l') goto yy573; goto yy4; -yy535: +yy539: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy571; + if (yych == 'l') goto yy574; goto yy4; -yy536: +yy540: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy572; + if (yych == 'e') goto yy575; goto yy4; -yy537: +yy541: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 141 "../src/ast/lex_conf.re" { opts.set_yychConversion (lex_conf_bool()); return; } -#line 2540 "src/ast/lex_conf.cc" -yy539: - yych = (unsigned char)*++cur; - if (yych == 'r') goto yy573; - goto yy4; -yy540: - yych = (unsigned char)*++cur; - if (yych == 'd') goto yy575; - goto yy218; -yy541: - yych = (unsigned char)*++cur; - if (yych == 'T') goto yy577; - goto yy4; -yy542: - yych = (unsigned char)*++cur; - if (yych == 'E') goto yy578; - goto yy4; +#line 2557 "src/ast/lex_conf.cc" yy543: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy580; + if (yych == 'r') goto yy576; goto yy4; yy544: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy581; - goto yy4; + if (yych == 'd') goto yy578; + goto yy218; yy545: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy582; - goto yy218; + if (yych == 'T') goto yy580; + goto yy4; yy546: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy584; + if (yych == 'E') goto yy581; goto yy4; yy547: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy585; + if (yych == 'E') goto yy583; goto yy4; yy548: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy587; + if (yych == 'k') goto yy584; goto yy4; yy549: + yych = (unsigned char)*++cur; + if (yych == 'n') goto yy585; + goto yy218; +yy550: + yych = (unsigned char)*++cur; + if (yych == 'I') goto yy587; + goto yy4; +yy551: + yych = (unsigned char)*++cur; + if (yych == 'E') goto yy588; + goto yy4; +yy552: + yych = (unsigned char)*++cur; + if (yych == 'N') goto yy590; + goto yy4; +yy553: yych = (unsigned char)*++cur; if (yych <= 'C') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= ':') goto yy3; - if (yych <= '@') goto yy550; + if (yych <= '@') goto yy554; if (yych <= 'B') goto yy3; - goto yy589; + goto yy592; } } else { if (yych <= '^') { - if (yych == 'T') goto yy590; + if (yych == 'T') goto yy593; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy550; + if (yych == '`') goto yy554; if (yych <= 'z') goto yy3; } } -yy550: +yy554: #line 113 "../src/ast/lex_conf.re" { opts.set_yyrestore (lex_conf_string ()); return; } -#line 2604 "src/ast/lex_conf.cc" -yy551: +#line 2621 "src/ast/lex_conf.cc" +yy555: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy591; + if (yych == 'I') goto yy594; goto yy4; -yy552: +yy556: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy592; + if (yych == 'E') goto yy595; goto yy4; -yy553: +yy557: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy594; - if (yych == 'P') goto yy596; + if (yych == 's') goto yy597; goto yy4; -yy554: +yy558: yych = (unsigned char)*++cur; if (yych == 's') goto yy598; goto yy4; -yy555: - yych = (unsigned char)*++cur; - if (yych == 's') goto yy599; - goto yy4; -yy556: +yy559: yych = (unsigned char)*++cur; - if (yych == 't') goto yy600; + if (yych == 't') goto yy599; goto yy4; -yy557: +yy560: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy601; + if (yych == 'o') goto yy600; goto yy4; -yy558: +yy561: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy602; + if (yych == 'u') goto yy601; goto yy4; -yy559: +yy562: yych = (unsigned char)*++cur; - if (yych == 'z') goto yy603; + if (yych == 'z') goto yy602; goto yy4; -yy560: +yy563: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 52 "../src/ast/lex_conf.re" { opts.set_eager_skip(lex_conf_bool()); return; } -#line 2649 "src/ast/lex_conf.cc" -yy562: +#line 2661 "src/ast/lex_conf.cc" +yy565: yych = (unsigned char)*++cur; - if (yych == 's') goto yy604; + if (yych == 's') goto yy603; goto yy4; -yy563: +yy566: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy606; + if (yych == 'o') goto yy605; goto yy4; -yy564: +yy567: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy607; + if (yych == 'n') goto yy606; goto yy4; -yy565: +yy568: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy608; + if (yych == 'a') goto yy607; goto yy4; -yy566: +yy569: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy609; + if (yych == 'u') goto yy608; goto yy4; -yy567: +yy570: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } goto yy114; -yy568: +yy571: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy610; + if (yych == 'l') goto yy609; goto yy4; -yy569: +yy572: yych = (unsigned char)*++cur; - if (yych == 't') goto yy612; + if (yych == 't') goto yy611; goto yy4; -yy570: +yy573: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy614; + if (yych == 'e') goto yy613; goto yy4; -yy571: +yy574: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy616; + if (yych == 'e') goto yy615; goto yy4; -yy572: +yy575: yych = (unsigned char)*++cur; - if (yych == 't') goto yy618; + if (yych == 't') goto yy617; goto yy4; -yy573: +yy576: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 147 "../src/ast/lex_conf.re" { opts.set_fill_arg_use (lex_conf_bool()); return; } -#line 2703 "src/ast/lex_conf.cc" -yy575: +#line 2715 "src/ast/lex_conf.cc" +yy578: ++cur; #line 74 "../src/ast/lex_conf.re" { opts.set_condDividerParam (lex_conf_string ()); return; } -#line 2708 "src/ast/lex_conf.cc" -yy577: +#line 2720 "src/ast/lex_conf.cc" +yy580: yych = (unsigned char)*++cur; - if (yych == 'X') goto yy620; + if (yych == 'X') goto yy619; goto yy4; -yy578: +yy581: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 65 "../src/ast/lex_conf.re" { opts.set_yycondtype (lex_conf_string ()); return; } -#line 2720 "src/ast/lex_conf.cc" -yy580: +#line 2732 "src/ast/lex_conf.cc" +yy583: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy622; + if (yych == 'R') goto yy621; goto yy4; -yy581: +yy584: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy624; + if (yych == 'e') goto yy623; goto yy4; -yy582: +yy585: ++cur; #line 146 "../src/ast/lex_conf.re" { opts.set_fill_arg (lex_conf_string ()); return; } -#line 2733 "src/ast/lex_conf.cc" -yy584: +#line 2745 "src/ast/lex_conf.cc" +yy587: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy625; + if (yych == 'T') goto yy624; goto yy4; -yy585: +yy588: yych = (unsigned char)*++cur; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy626; + if (yych <= ':') goto yy625; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy3; if (yych >= '_') goto yy3; } else { - if (yych <= '`') goto yy586; + if (yych <= '`') goto yy589; if (yych <= 'z') goto yy3; } } -yy586: +yy589: #line 79 "../src/ast/lex_conf.re" { opts.set_state_get (lex_conf_string ()); return; } -#line 2759 "src/ast/lex_conf.cc" -yy587: +#line 2771 "src/ast/lex_conf.cc" +yy590: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 116 "../src/ast/lex_conf.re" { opts.set_yylessthan (lex_conf_string ()); return; } -#line 2767 "src/ast/lex_conf.cc" -yy589: +#line 2779 "src/ast/lex_conf.cc" +yy592: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy627; + if (yych == 'T') goto yy626; goto yy4; -yy590: +yy593: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy628; + if (yych == 'A') goto yy627; goto yy4; -yy591: +yy594: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy629; + if (yych == 'T') goto yy628; goto yy4; -yy592: +yy595: yyaccept = 4; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -2784,50 +2796,38 @@ yy592: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy630; + if (yych <= ':') goto yy629; } } else { if (yych <= '^') { - if (yych <= '@') goto yy631; + if (yych <= '@') goto yy630; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy593; + if (yych == '`') goto yy596; if (yych <= 'z') goto yy3; } } -yy593: +yy596: #line 81 "../src/ast/lex_conf.re" { opts.set_state_set (lex_conf_string ()); return; } -#line 2802 "src/ast/lex_conf.cc" -yy594: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 119 "../src/ast/lex_conf.re" - { opts.set_yytaglistn (lex_conf_string ()); return; } -#line 2810 "src/ast/lex_conf.cc" -yy596: +#line 2814 "src/ast/lex_conf.cc" +yy597: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 120 "../src/ast/lex_conf.re" - { opts.set_yytaglistp (lex_conf_string ()); return; } -#line 2818 "src/ast/lex_conf.cc" + goto yy94; yy598: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } - goto yy94; + if (yych == 'i') goto yy631; + goto yy4; yy599: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy632; + if (yych == 'e') goto yy632; goto yy4; yy600: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy633; + if (yych == 't') goto yy633; goto yy4; yy601: yych = (unsigned char)*++cur; @@ -2835,315 +2835,311 @@ yy601: goto yy4; yy602: yych = (unsigned char)*++cur; - if (yych == 't') goto yy635; + if (yych == 'a') goto yy635; goto yy4; yy603: - yych = (unsigned char)*++cur; - if (yych == 'a') goto yy636; - goto yy4; -yy604: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 62 "../src/ast/lex_conf.re" { lex_conf_empty_class(opts); return; } -#line 2852 "src/ast/lex_conf.cc" +#line 2848 "src/ast/lex_conf.cc" +yy605: + yych = (unsigned char)*++cur; + if (yych == 'l') goto yy636; + goto yy4; yy606: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy637; + if (yych == 'f') goto yy637; goto yy4; yy607: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy638; + if (yych == 'g') goto yy638; goto yy4; yy608: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy639; + if (yych == 'r') goto yy639; goto yy4; yy609: - yych = (unsigned char)*++cur; - if (yych == 'r') goto yy640; - goto yy4; -yy610: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 84 "../src/ast/lex_conf.re" { opts.set_yyfilllabel (lex_conf_string ()); return; } -#line 2876 "src/ast/lex_conf.cc" -yy612: +#line 2872 "src/ast/lex_conf.cc" +yy611: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 88 "../src/ast/lex_conf.re" { opts.set_yyaccept (lex_conf_string ()); return; } -#line 2884 "src/ast/lex_conf.cc" -yy614: +#line 2880 "src/ast/lex_conf.cc" +yy613: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 77 "../src/ast/lex_conf.re" { opts.set_yyctable (lex_conf_string ()); return; } -#line 2892 "src/ast/lex_conf.cc" -yy616: +#line 2888 "src/ast/lex_conf.cc" +yy615: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 158 "../src/ast/lex_conf.re" { lex_conf_string (); return; } -#line 2900 "src/ast/lex_conf.cc" -yy618: +#line 2896 "src/ast/lex_conf.cc" +yy617: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 102 "../src/ast/lex_conf.re" { opts.set_yytarget (lex_conf_string ()); return; } -#line 2908 "src/ast/lex_conf.cc" -yy620: +#line 2904 "src/ast/lex_conf.cc" +yy619: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 112 "../src/ast/lex_conf.re" { opts.set_yybackupctx (lex_conf_string ()); return; } -#line 2916 "src/ast/lex_conf.cc" -yy622: +#line 2912 "src/ast/lex_conf.cc" +yy621: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 106 "../src/ast/lex_conf.re" { opts.set_yyctxmarker (lex_conf_string ()); return; } -#line 2924 "src/ast/lex_conf.cc" +#line 2920 "src/ast/lex_conf.cc" +yy623: + yych = (unsigned char)*++cur; + if (yych == 'd') goto yy640; + goto yy4; yy624: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy641; + if (yych == 'I') goto yy642; goto yy4; yy625: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy643; + if (yych == 'n') goto yy643; goto yy4; yy626: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy644; + if (yych == 'X') goto yy644; goto yy4; yy627: yych = (unsigned char)*++cur; - if (yych == 'X') goto yy645; + if (yych == 'G') goto yy646; goto yy4; yy628: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy647; + if (yych == 'I') goto yy648; goto yy4; yy629: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy649; + if (yych == 'n') goto yy649; goto yy4; yy630: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy650; - goto yy4; + if (yych == 's') goto yy650; + goto yy218; yy631: yych = (unsigned char)*++cur; - if (yych == 's') goto yy651; - goto yy218; + if (yych == 't') goto yy651; + goto yy4; yy632: yych = (unsigned char)*++cur; - if (yych == 't') goto yy652; + if (yych == 'd') goto yy652; goto yy4; yy633: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy653; + if (yych == 'o') goto yy654; goto yy4; yy634: - yych = (unsigned char)*++cur; - if (yych == 'o') goto yy655; - goto yy4; -yy635: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } goto yy97; +yy635: + yych = (unsigned char)*++cur; + if (yych == 't') goto yy655; + goto yy4; yy636: yych = (unsigned char)*++cur; - if (yych == 't') goto yy656; + if (yych == 'i') goto yy656; goto yy4; yy637: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy657; + if (yych == 'o') goto yy657; goto yy4; yy638: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy658; + if (yych == 's') goto yy658; goto yy4; yy639: yych = (unsigned char)*++cur; - if (yych == 's') goto yy659; + if (yych == 'e') goto yy660; goto yy4; yy640: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy661; - goto yy4; -yy641: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 148 "../src/ast/lex_conf.re" { opts.set_fill_naked (lex_conf_bool()); return; } -#line 3002 "src/ast/lex_conf.cc" -yy643: +#line 2998 "src/ast/lex_conf.cc" +yy642: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy662; + if (yych == 'O') goto yy661; goto yy4; -yy644: +yy643: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy663; + if (yych == 'a') goto yy662; goto yy4; -yy645: +yy644: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 114 "../src/ast/lex_conf.re" { opts.set_yyrestorectx (lex_conf_string ()); return; } -#line 3018 "src/ast/lex_conf.cc" -yy647: +#line 3014 "src/ast/lex_conf.cc" +yy646: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 115 "../src/ast/lex_conf.re" { opts.set_yyrestoretag (lex_conf_string ()); return; } -#line 3026 "src/ast/lex_conf.cc" -yy649: +#line 3022 "src/ast/lex_conf.cc" +yy648: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy664; + if (yych == 'O') goto yy663; goto yy4; -yy650: +yy649: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy665; + if (yych == 'a') goto yy664; goto yy4; -yy651: +yy650: yych = (unsigned char)*++cur; - if (yych == 't') goto yy666; + if (yych == 't') goto yy665; goto yy218; -yy652: +yy651: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy667; + if (yych == 'i') goto yy666; goto yy4; -yy653: +yy652: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 49 "../src/ast/lex_conf.re" { opts.set_bCaseInverted(lex_conf_bool()); return; } -#line 3050 "src/ast/lex_conf.cc" -yy655: +#line 3046 "src/ast/lex_conf.cc" +yy654: yych = (unsigned char)*++cur; if (yych == 's') goto yy100; goto yy4; -yy656: +yy655: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy668; + if (yych == 'i') goto yy667; goto yy4; -yy657: +yy656: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy669; + if (yych == 'c') goto yy668; goto yy4; -yy658: +yy657: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } goto yy103; -yy659: +yy658: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 51 "../src/ast/lex_conf.re" { opts.set_optimize_tags(lex_conf_bool()); return; } -#line 3076 "src/ast/lex_conf.cc" +#line 3072 "src/ast/lex_conf.cc" +yy660: + yych = (unsigned char)*++cur; + if (yych == 's') goto yy669; + goto yy4; yy661: yych = (unsigned char)*++cur; - if (yych == 's') goto yy670; + if (yych == 'N') goto yy671; goto yy4; yy662: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy672; + if (yych == 'k') goto yy673; goto yy4; yy663: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy674; + if (yych == 'N') goto yy674; goto yy4; yy664: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy675; + if (yych == 'k') goto yy676; goto yy4; yy665: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy677; - goto yy4; + if (yych == 'a') goto yy677; + goto yy218; yy666: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy678; - goto yy218; + if (yych == 'v') goto yy678; + goto yy4; yy667: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy679; + if (yych == 'o') goto yy679; goto yy4; yy668: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy680; + if (yych == 'y') goto yy680; goto yy4; yy669: - yych = (unsigned char)*++cur; - if (yych == 'y') goto yy681; - goto yy4; -yy670: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 47 "../src/ast/lex_conf.re" { opts.set_posix_captures(lex_conf_bool()); return; } -#line 3120 "src/ast/lex_conf.cc" -yy672: +#line 3116 "src/ast/lex_conf.cc" +yy671: yych = (unsigned char)*++cur; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy683; + if (yych <= ':') goto yy682; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy3; if (yych >= '_') goto yy3; } else { - if (yych <= '`') goto yy673; + if (yych <= '`') goto yy672; if (yych <= 'z') goto yy3; } } -yy673: +yy672: #line 66 "../src/ast/lex_conf.re" { opts.set_cond_get (lex_conf_string ()); return; } -#line 3142 "src/ast/lex_conf.cc" -yy674: +#line 3138 "src/ast/lex_conf.cc" +yy673: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy684; + if (yych == 'e') goto yy683; goto yy4; -yy675: +yy674: yyaccept = 5; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -3151,171 +3147,171 @@ yy675: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy685; + if (yych <= ':') goto yy684; } } else { if (yych <= '^') { - if (yych <= '@') goto yy686; + if (yych <= '@') goto yy685; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy676; + if (yych == '`') goto yy675; if (yych <= 'z') goto yy3; } } -yy676: +yy675: #line 68 "../src/ast/lex_conf.re" { opts.set_cond_set (lex_conf_string ()); return; } -#line 3169 "src/ast/lex_conf.cc" -yy677: +#line 3165 "src/ast/lex_conf.cc" +yy676: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy687; + if (yych == 'e') goto yy686; goto yy4; -yy678: +yy677: yych = (unsigned char)*++cur; - if (yych == 't') goto yy688; + if (yych == 't') goto yy687; goto yy218; -yy679: +yy678: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy689; + if (yych == 'e') goto yy688; goto yy4; -yy680: +yy679: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy691; + if (yych == 'n') goto yy690; goto yy4; -yy681: +yy680: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 60 "../src/ast/lex_conf.re" { lex_conf_encoding_policy(opts); return; } -#line 3193 "src/ast/lex_conf.cc" +#line 3189 "src/ast/lex_conf.cc" +yy682: + yych = (unsigned char)*++cur; + if (yych == 'n') goto yy692; + goto yy4; yy683: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy693; + if (yych == 'd') goto yy693; goto yy4; yy684: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy694; + if (yych == 'n') goto yy695; goto yy4; yy685: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy696; - goto yy4; -yy686: - yych = (unsigned char)*++cur; - if (yych == 'c') goto yy697; + if (yych == 'c') goto yy696; goto yy218; -yy687: +yy686: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy698; + if (yych == 'd') goto yy697; goto yy4; -yy688: +yy687: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy700; + if (yych == 'e') goto yy699; goto yy218; -yy689: +yy688: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 48 "../src/ast/lex_conf.re" { opts.set_bCaseInsensitive(lex_conf_bool()); return; } -#line 3225 "src/ast/lex_conf.cc" -yy691: +#line 3221 "src/ast/lex_conf.cc" +yy690: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 63 "../src/ast/lex_conf.re" { lex_conf_dfa_minimization(opts); return; } -#line 3233 "src/ast/lex_conf.cc" -yy693: +#line 3229 "src/ast/lex_conf.cc" +yy692: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy702; + if (yych == 'a') goto yy701; goto yy4; -yy694: +yy693: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 80 "../src/ast/lex_conf.re" { opts.set_state_get_naked (lex_conf_bool()); return; } -#line 3245 "src/ast/lex_conf.cc" -yy696: +#line 3241 "src/ast/lex_conf.cc" +yy695: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy703; + if (yych == 'a') goto yy702; goto yy4; -yy697: +yy696: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy704; + if (yych == 'o') goto yy703; goto yy218; -yy698: +yy697: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 82 "../src/ast/lex_conf.re" { opts.set_state_set_naked (lex_conf_bool()); return; } -#line 3261 "src/ast/lex_conf.cc" -yy700: +#line 3257 "src/ast/lex_conf.cc" +yy699: ++cur; #line 83 "../src/ast/lex_conf.re" { opts.set_state_set_arg (lex_conf_string ()); return; } -#line 3266 "src/ast/lex_conf.cc" +#line 3262 "src/ast/lex_conf.cc" +yy701: + yych = (unsigned char)*++cur; + if (yych == 'k') goto yy704; + goto yy4; yy702: yych = (unsigned char)*++cur; if (yych == 'k') goto yy705; goto yy4; yy703: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy706; - goto yy4; + if (yych == 'n') goto yy706; + goto yy218; yy704: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy707; - goto yy218; + if (yych == 'e') goto yy707; + goto yy4; yy705: yych = (unsigned char)*++cur; if (yych == 'e') goto yy708; goto yy4; yy706: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy709; - goto yy4; + if (yych == 'd') goto yy709; + goto yy218; yy707: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy710; - goto yy218; + if (yych == 'd') goto yy711; + goto yy4; yy708: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy712; + if (yych == 'd') goto yy713; goto yy4; yy709: - yych = (unsigned char)*++cur; - if (yych == 'd') goto yy714; - goto yy4; -yy710: ++cur; #line 69 "../src/ast/lex_conf.re" { opts.set_cond_set_arg (lex_conf_string ()); return; } -#line 3303 "src/ast/lex_conf.cc" -yy712: +#line 3299 "src/ast/lex_conf.cc" +yy711: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 67 "../src/ast/lex_conf.re" { opts.set_cond_get_naked (lex_conf_bool()); return; } -#line 3311 "src/ast/lex_conf.cc" -yy714: +#line 3307 "src/ast/lex_conf.cc" +yy713: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 70 "../src/ast/lex_conf.re" { opts.set_cond_set_naked (lex_conf_bool()); return; } -#line 3319 "src/ast/lex_conf.cc" +#line 3315 "src/ast/lex_conf.cc" } #line 165 "../src/ast/lex_conf.re" @@ -3325,100 +3321,100 @@ void Scanner::lex_conf_encoding_policy(Opt &opts) { lex_conf_assign (); -#line 3329 "src/ast/lex_conf.cc" +#line 3325 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 10) fill(10); yych = (unsigned char)*cur; if (yych <= 'h') { - if (yych == 'f') goto yy720; + if (yych == 'f') goto yy719; } else { - if (yych <= 'i') goto yy721; - if (yych == 's') goto yy722; + if (yych <= 'i') goto yy720; + if (yych == 's') goto yy721; } ++cur; -yy719: +yy718: #line 172 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'ignore', 'substitute', 'fail')"); } -#line 3345 "src/ast/lex_conf.cc" +#line 3341 "src/ast/lex_conf.cc" +yy719: + yych = (unsigned char)*(mar = ++cur); + if (yych == 'a') goto yy722; + goto yy718; yy720: yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy723; - goto yy719; + if (yych == 'g') goto yy724; + goto yy718; yy721: yych = (unsigned char)*(mar = ++cur); - if (yych == 'g') goto yy725; - goto yy719; + if (yych == 'u') goto yy725; + goto yy718; yy722: - yych = (unsigned char)*(mar = ++cur); - if (yych == 'u') goto yy726; - goto yy719; -yy723: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy727; -yy724: + if (yych == 'i') goto yy726; +yy723: cur = mar; - goto yy719; + goto yy718; +yy724: + yych = (unsigned char)*++cur; + if (yych == 'n') goto yy727; + goto yy723; yy725: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy728; - goto yy724; + if (yych == 'b') goto yy728; + goto yy723; yy726: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy729; - goto yy724; + if (yych == 'l') goto yy729; + goto yy723; yy727: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy730; - goto yy724; + if (yych == 'o') goto yy731; + goto yy723; yy728: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy732; - goto yy724; + if (yych == 's') goto yy732; + goto yy723; yy729: - yych = (unsigned char)*++cur; - if (yych == 's') goto yy733; - goto yy724; -yy730: ++cur; #line 176 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_FAIL); goto end; } -#line 3388 "src/ast/lex_conf.cc" +#line 3384 "src/ast/lex_conf.cc" +yy731: + yych = (unsigned char)*++cur; + if (yych == 'r') goto yy733; + goto yy723; yy732: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy734; - goto yy724; + if (yych == 't') goto yy734; + goto yy723; yy733: yych = (unsigned char)*++cur; - if (yych == 't') goto yy735; - goto yy724; + if (yych == 'e') goto yy735; + goto yy723; yy734: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy736; - goto yy724; + if (yych == 'i') goto yy737; + goto yy723; yy735: - yych = (unsigned char)*++cur; - if (yych == 'i') goto yy738; - goto yy724; -yy736: ++cur; #line 174 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_IGNORE); goto end; } -#line 3409 "src/ast/lex_conf.cc" -yy738: +#line 3405 "src/ast/lex_conf.cc" +yy737: yych = (unsigned char)*++cur; - if (yych != 't') goto yy724; + if (yych != 't') goto yy723; yych = (unsigned char)*++cur; - if (yych != 'u') goto yy724; + if (yych != 'u') goto yy723; yych = (unsigned char)*++cur; - if (yych != 't') goto yy724; + if (yych != 't') goto yy723; yych = (unsigned char)*++cur; - if (yych != 'e') goto yy724; + if (yych != 'e') goto yy723; ++cur; #line 175 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_SUBSTITUTE); goto end; } -#line 3422 "src/ast/lex_conf.cc" +#line 3418 "src/ast/lex_conf.cc" } #line 177 "../src/ast/lex_conf.re" @@ -3430,75 +3426,75 @@ void Scanner::lex_conf_input(Opt &opts) { lex_conf_assign (); -#line 3434 "src/ast/lex_conf.cc" +#line 3430 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 7) fill(7); yych = (unsigned char)*cur; - if (yych <= 'b') goto yy746; - if (yych <= 'c') goto yy748; - if (yych <= 'd') goto yy749; -yy746: + if (yych <= 'b') goto yy745; + if (yych <= 'c') goto yy747; + if (yych <= 'd') goto yy748; +yy745: ++cur; -yy747: +yy746: #line 186 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'default', 'custom')"); } -#line 3448 "src/ast/lex_conf.cc" +#line 3444 "src/ast/lex_conf.cc" +yy747: + yych = (unsigned char)*(mar = ++cur); + if (yych == 'u') goto yy749; + goto yy746; yy748: yych = (unsigned char)*(mar = ++cur); - if (yych == 'u') goto yy750; - goto yy747; + if (yych == 'e') goto yy751; + goto yy746; yy749: - yych = (unsigned char)*(mar = ++cur); - if (yych == 'e') goto yy752; - goto yy747; -yy750: yych = (unsigned char)*++cur; - if (yych == 's') goto yy753; -yy751: + if (yych == 's') goto yy752; +yy750: cur = mar; - goto yy747; + goto yy746; +yy751: + yych = (unsigned char)*++cur; + if (yych == 'f') goto yy753; + goto yy750; yy752: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy754; - goto yy751; + if (yych == 't') goto yy754; + goto yy750; yy753: yych = (unsigned char)*++cur; - if (yych == 't') goto yy755; - goto yy751; + if (yych == 'a') goto yy755; + goto yy750; yy754: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy756; - goto yy751; + if (yych == 'o') goto yy756; + goto yy750; yy755: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy757; - goto yy751; + if (yych == 'u') goto yy757; + goto yy750; yy756: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy758; - goto yy751; + if (yych == 'm') goto yy758; + goto yy750; yy757: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy759; - goto yy751; + if (yych == 'l') goto yy760; + goto yy750; yy758: - yych = (unsigned char)*++cur; - if (yych == 'l') goto yy761; - goto yy751; -yy759: ++cur; #line 189 "../src/ast/lex_conf.re" { opts.set_input_api(INPUT_CUSTOM); goto end; } -#line 3495 "src/ast/lex_conf.cc" -yy761: +#line 3491 "src/ast/lex_conf.cc" +yy760: yych = (unsigned char)*++cur; - if (yych != 't') goto yy751; + if (yych != 't') goto yy750; ++cur; #line 188 "../src/ast/lex_conf.re" { opts.set_input_api(INPUT_DEFAULT); goto end; } -#line 3502 "src/ast/lex_conf.cc" +#line 3498 "src/ast/lex_conf.cc" } #line 190 "../src/ast/lex_conf.re" @@ -3510,103 +3506,103 @@ void Scanner::lex_conf_empty_class(Opt &opts) { lex_conf_assign (); -#line 3514 "src/ast/lex_conf.cc" +#line 3510 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 11) fill(11); yych = (unsigned char)*cur; - if (yych == 'e') goto yy768; - if (yych == 'm') goto yy769; + if (yych == 'e') goto yy767; + if (yych == 'm') goto yy768; ++cur; -yy767: +yy766: #line 199 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'match-empty', 'match-none', 'error')"); } -#line 3526 "src/ast/lex_conf.cc" +#line 3522 "src/ast/lex_conf.cc" +yy767: + yych = (unsigned char)*(mar = ++cur); + if (yych == 'r') goto yy769; + goto yy766; yy768: yych = (unsigned char)*(mar = ++cur); - if (yych == 'r') goto yy770; - goto yy767; + if (yych == 'a') goto yy771; + goto yy766; yy769: - yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy772; - goto yy767; -yy770: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy773; -yy771: + if (yych == 'r') goto yy772; +yy770: cur = mar; - goto yy767; + goto yy766; +yy771: + yych = (unsigned char)*++cur; + if (yych == 't') goto yy773; + goto yy770; yy772: yych = (unsigned char)*++cur; - if (yych == 't') goto yy774; - goto yy771; + if (yych == 'o') goto yy774; + goto yy770; yy773: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy775; - goto yy771; + if (yych == 'c') goto yy775; + goto yy770; yy774: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy776; - goto yy771; + if (yych == 'r') goto yy776; + goto yy770; yy775: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy777; - goto yy771; + if (yych == 'h') goto yy778; + goto yy770; yy776: - yych = (unsigned char)*++cur; - if (yych == 'h') goto yy779; - goto yy771; -yy777: ++cur; #line 203 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_ERROR); goto end; } -#line 3565 "src/ast/lex_conf.cc" -yy779: +#line 3561 "src/ast/lex_conf.cc" +yy778: yych = (unsigned char)*++cur; - if (yych != '-') goto yy771; + if (yych != '-') goto yy770; yych = (unsigned char)*++cur; - if (yych == 'e') goto yy781; - if (yych == 'n') goto yy782; - goto yy771; + if (yych == 'e') goto yy780; + if (yych == 'n') goto yy781; + goto yy770; +yy780: + yych = (unsigned char)*++cur; + if (yych == 'm') goto yy782; + goto yy770; yy781: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy783; - goto yy771; + if (yych == 'o') goto yy783; + goto yy770; yy782: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy784; - goto yy771; + if (yych == 'p') goto yy784; + goto yy770; yy783: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy785; - goto yy771; + if (yych == 'n') goto yy785; + goto yy770; yy784: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy786; - goto yy771; + if (yych == 't') goto yy786; + goto yy770; yy785: yych = (unsigned char)*++cur; - if (yych == 't') goto yy787; - goto yy771; + if (yych == 'e') goto yy787; + goto yy770; yy786: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy788; - goto yy771; + if (yych == 'y') goto yy789; + goto yy770; yy787: - yych = (unsigned char)*++cur; - if (yych == 'y') goto yy790; - goto yy771; -yy788: ++cur; #line 202 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_NONE); goto end; } -#line 3605 "src/ast/lex_conf.cc" -yy790: +#line 3601 "src/ast/lex_conf.cc" +yy789: ++cur; #line 201 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_EMPTY); goto end; } -#line 3610 "src/ast/lex_conf.cc" +#line 3606 "src/ast/lex_conf.cc" } #line 204 "../src/ast/lex_conf.re" @@ -3618,63 +3614,63 @@ void Scanner::lex_conf_dfa_minimization(Opt &opts) { lex_conf_assign (); -#line 3622 "src/ast/lex_conf.cc" +#line 3618 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 5) fill(5); yych = (unsigned char)*cur; - if (yych == 'm') goto yy796; - if (yych == 't') goto yy797; + if (yych == 'm') goto yy795; + if (yych == 't') goto yy796; ++cur; -yy795: +yy794: #line 213 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'table', 'moore')"); } -#line 3634 "src/ast/lex_conf.cc" +#line 3630 "src/ast/lex_conf.cc" +yy795: + yych = (unsigned char)*(mar = ++cur); + if (yych == 'o') goto yy797; + goto yy794; yy796: yych = (unsigned char)*(mar = ++cur); - if (yych == 'o') goto yy798; - goto yy795; + if (yych == 'a') goto yy799; + goto yy794; yy797: - yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy800; - goto yy795; -yy798: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy801; -yy799: + if (yych == 'o') goto yy800; +yy798: cur = mar; - goto yy795; + goto yy794; +yy799: + yych = (unsigned char)*++cur; + if (yych == 'b') goto yy801; + goto yy798; yy800: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy802; - goto yy799; + if (yych == 'r') goto yy802; + goto yy798; yy801: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy803; - goto yy799; + if (yych == 'l') goto yy803; + goto yy798; yy802: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy804; - goto yy799; + if (yych == 'e') goto yy804; + goto yy798; yy803: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy805; - goto yy799; + if (yych == 'e') goto yy806; + goto yy798; yy804: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy807; - goto yy799; -yy805: ++cur; #line 216 "../src/ast/lex_conf.re" { opts.set_dfa_minimization(DFA_MINIMIZATION_MOORE); goto end; } -#line 3673 "src/ast/lex_conf.cc" -yy807: +#line 3669 "src/ast/lex_conf.cc" +yy806: ++cur; #line 215 "../src/ast/lex_conf.re" { opts.set_dfa_minimization(DFA_MINIMIZATION_TABLE); goto end; } -#line 3678 "src/ast/lex_conf.cc" +#line 3674 "src/ast/lex_conf.cc" } #line 217 "../src/ast/lex_conf.re" @@ -3694,7 +3690,7 @@ void Scanner::lex_conf_enc(Enc::type_t enc, Opt &opts) void Scanner::lex_conf_assign () { -#line 3698 "src/ast/lex_conf.cc" +#line 3694 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3734,47 +3730,47 @@ void Scanner::lex_conf_assign () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy813; + if (yych == '\t') goto yy812; } else { - if (yych <= ' ') goto yy813; - if (yych == '=') goto yy814; + if (yych <= ' ') goto yy812; + if (yych == '=') goto yy813; } ++cur; -yy812: +yy811: #line 234 "../src/ast/lex_conf.re" { fatal ("missing '=' in configuration"); } -#line 3747 "src/ast/lex_conf.cc" -yy813: +#line 3743 "src/ast/lex_conf.cc" +yy812: yych = (unsigned char)*(mar = ++cur); if (yych <= 0x1F) { - if (yych == '\t') goto yy817; - goto yy812; + if (yych == '\t') goto yy816; + goto yy811; } else { - if (yych <= ' ') goto yy817; - if (yych != '=') goto yy812; + if (yych <= ' ') goto yy816; + if (yych != '=') goto yy811; } -yy814: +yy813: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy814; + goto yy813; } #line 235 "../src/ast/lex_conf.re" { return; } -#line 3766 "src/ast/lex_conf.cc" -yy817: +#line 3762 "src/ast/lex_conf.cc" +yy816: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy817; + if (yych == '\t') goto yy816; } else { - if (yych <= ' ') goto yy817; - if (yych == '=') goto yy814; + if (yych <= ' ') goto yy816; + if (yych == '=') goto yy813; } cur = mar; - goto yy812; + goto yy811; } #line 236 "../src/ast/lex_conf.re" @@ -3783,7 +3779,7 @@ yy817: void Scanner::lex_conf_semicolon () { -#line 3787 "src/ast/lex_conf.cc" +#line 3783 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3823,37 +3819,37 @@ void Scanner::lex_conf_semicolon () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy824; + if (yych == '\t') goto yy823; } else { - if (yych <= ' ') goto yy824; - if (yych == ';') goto yy825; + if (yych <= ' ') goto yy823; + if (yych == ';') goto yy824; } ++cur; -yy823: +yy822: #line 242 "../src/ast/lex_conf.re" { fatal ("missing ending ';' in configuration"); } -#line 3836 "src/ast/lex_conf.cc" -yy824: +#line 3832 "src/ast/lex_conf.cc" +yy823: yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 128) { - goto yy827; + goto yy826; } - if (yych != ';') goto yy823; -yy825: + if (yych != ';') goto yy822; +yy824: ++cur; #line 243 "../src/ast/lex_conf.re" { return; } -#line 3847 "src/ast/lex_conf.cc" -yy827: +#line 3843 "src/ast/lex_conf.cc" +yy826: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy827; + goto yy826; } - if (yych == ';') goto yy825; + if (yych == ';') goto yy824; cur = mar; - goto yy823; + goto yy822; } #line 244 "../src/ast/lex_conf.re" @@ -3869,7 +3865,7 @@ int32_t Scanner::lex_conf_number () lex_conf_assign (); tok = cur; -#line 3873 "src/ast/lex_conf.cc" +#line 3869 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3909,20 +3905,20 @@ int32_t Scanner::lex_conf_number () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= '/') { - if (yych == '-') goto yy833; + if (yych == '-') goto yy832; } else { - if (yych <= '0') goto yy834; - if (yych <= '9') goto yy836; + if (yych <= '0') goto yy833; + if (yych <= '9') goto yy835; } +yy831: yy832: -yy833: yych = (unsigned char)*++cur; - if (yych <= '0') goto yy832; - if (yych <= '9') goto yy836; - goto yy832; -yy834: + if (yych <= '0') goto yy831; + if (yych <= '9') goto yy835; + goto yy831; +yy833: ++cur; -yy835: +yy834: #line 258 "../src/ast/lex_conf.re" { int32_t n = 0; @@ -3933,15 +3929,15 @@ yy835: lex_conf_semicolon (); return n; } -#line 3937 "src/ast/lex_conf.cc" -yy836: +#line 3933 "src/ast/lex_conf.cc" +yy835: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy836; + goto yy835; } - goto yy835; + goto yy834; } #line 267 "../src/ast/lex_conf.re" @@ -3953,7 +3949,7 @@ std::string Scanner::lex_conf_string () std::string s; tok = cur; -#line 3957 "src/ast/lex_conf.cc" +#line 3953 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3994,36 +3990,36 @@ std::string Scanner::lex_conf_string () yych = (unsigned char)*cur; if (yych <= '!') { if (yych <= '\n') { - if (yych <= 0x08) goto yy841; + if (yych <= 0x08) goto yy840; } else { - if (yych != ' ') goto yy841; + if (yych != ' ') goto yy840; } } else { if (yych <= '\'') { - if (yych <= '"') goto yy844; - if (yych <= '&') goto yy841; - goto yy844; + if (yych <= '"') goto yy843; + if (yych <= '&') goto yy840; + goto yy843; } else { - if (yych != ';') goto yy841; + if (yych != ';') goto yy840; } } #line 294 "../src/ast/lex_conf.re" { goto end; } -#line 4013 "src/ast/lex_conf.cc" -yy841: +#line 4009 "src/ast/lex_conf.cc" +yy840: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy841; + goto yy840; } #line 290 "../src/ast/lex_conf.re" { s = std::string(tok, tok_len()); goto end; } -#line 4026 "src/ast/lex_conf.cc" -yy844: +#line 4022 "src/ast/lex_conf.cc" +yy843: ++cur; #line 276 "../src/ast/lex_conf.re" { @@ -4040,7 +4036,7 @@ yy844: } } } -#line 4044 "src/ast/lex_conf.cc" +#line 4040 "src/ast/lex_conf.cc" } #line 295 "../src/ast/lex_conf.re" diff --git a/re2c/src/adfa/adfa.cc b/re2c/src/adfa/adfa.cc index 48981f42..e1352561 100644 --- a/re2c/src/adfa/adfa.cc +++ b/re2c/src/adfa/adfa.cc @@ -37,7 +37,7 @@ DFA::DFA , charset(dfa.charset) , rules(dfa.rules) , tags(dfa.tags) - , listvers(dfa.listvers) + , mtagvers(dfa.mtagvers) , finvers(dfa.finvers) , tcpool(dfa.tcpool) , max_fill (0) @@ -106,7 +106,7 @@ DFA::~DFA() delete &charset; delete &rules; delete &tags; - delete &listvers; + delete &mtagvers; delete[] finvers; delete &tcpool; } diff --git a/re2c/src/adfa/adfa.h b/re2c/src/adfa/adfa.h index 50e3c1d3..f62e9e84 100644 --- a/re2c/src/adfa/adfa.h +++ b/re2c/src/adfa/adfa.h @@ -70,7 +70,7 @@ struct DFA std::vector &charset; std::valarray &rules; std::vector &tags; - std::set &listvers; + std::set &mtagvers; const tagver_t *finvers; tcpool_t &tcpool; size_t max_fill; diff --git a/re2c/src/adfa/prepare.cc b/re2c/src/adfa/prepare.cc index 35155e13..67cef7dd 100644 --- a/re2c/src/adfa/prepare.cc +++ b/re2c/src/adfa/prepare.cc @@ -256,7 +256,7 @@ void DFA::calc_stats(uint32_t line, bool explicit_tags) if (!explicit_tags && maxtagver > 1) { error("line %u: overlapping trailing contexts need " "multiple context markers, use '-t, --tags' " - "option and '/*!tags:re2c ... */' directive", + "option and '/*!stags:re2c ... */' directive", line); exit(1); } diff --git a/re2c/src/ast/lex.re b/re2c/src/ast/lex.re index 80fbb5b4..47e50855 100644 --- a/re2c/src/ast/lex.re +++ b/re2c/src/ast/lex.re @@ -112,13 +112,13 @@ echo: goto echo; } - "/*!tags:re2c" { + "/*!stags:re2c" { out.wraw(tok, ptr); lex_tags(out, false); goto echo; } - "/*!taglists:re2c" { + "/*!mtags:re2c" { out.wraw(tok, ptr); lex_tags(out, true); goto echo; @@ -164,7 +164,7 @@ void Scanner::lex_end_of_comment(OutputFile &out) */} } -void Scanner::lex_tags(OutputFile &out, bool lists) +void Scanner::lex_tags(OutputFile &out, bool mtags) { std::string fmt, sep; for (;;) {/*!re2c @@ -176,7 +176,7 @@ void Scanner::lex_tags(OutputFile &out, bool lists) space+ { continue; } eol { ++cline; continue; } eoc { - out.wdelay_tags(new ConfTags(fmt, sep), lists); + out.wdelay_tags(new ConfTags(fmt, sep), mtags); tok = pos = cur; return; } diff --git a/re2c/src/ast/lex_conf.re b/re2c/src/ast/lex_conf.re index 5b71eb1e..b5081f0b 100644 --- a/re2c/src/ast/lex_conf.re +++ b/re2c/src/ast/lex_conf.re @@ -114,10 +114,10 @@ void Scanner::lex_conf(Opt &opts) "define:YYRESTORECTX" { opts.set_yyrestorectx (lex_conf_string ()); return; } "define:YYRESTORETAG" { opts.set_yyrestoretag (lex_conf_string ()); return; } "define:YYLESSTHAN" { opts.set_yylessthan (lex_conf_string ()); return; } - "define:YYTAGN" { opts.set_yytagn (lex_conf_string ()); return; } - "define:YYTAGP" { opts.set_yytagp (lex_conf_string ()); return; } - "define:YYTAGLISTN" { opts.set_yytaglistn (lex_conf_string ()); return; } - "define:YYTAGLISTP" { opts.set_yytaglistp (lex_conf_string ()); return; } + "define:YYSTAGN" { opts.set_yystagn (lex_conf_string ()); return; } + "define:YYSTAGP" { opts.set_yystagp (lex_conf_string ()); return; } + "define:YYMTAGN" { opts.set_yymtagn (lex_conf_string ()); return; } + "define:YYMTAGP" { opts.set_yymtagp (lex_conf_string ()); return; } "tags:prefix" { opts.set_tags_prefix (lex_conf_string ()); return; } "tags:expression" { opts.set_tags_expression(lex_conf_string ()); return; } diff --git a/re2c/src/ast/scanner.h b/re2c/src/ast/scanner.h index 9df32522..85ab9368 100644 --- a/re2c/src/ast/scanner.h +++ b/re2c/src/ast/scanner.h @@ -57,7 +57,7 @@ class Scanner: private ScannerState void fill (uint32_t); void lex_end_of_comment(OutputFile &out); - void lex_tags(OutputFile &out, bool lists); + void lex_tags(OutputFile &out, bool mtags); void set_sourceline (); uint32_t lex_cls_chr(); uint32_t lex_str_chr(char quote, bool &end); diff --git a/re2c/src/code/emit_action.cc b/re2c/src/code/emit_action.cc index 13fb2ea7..0299538a 100644 --- a/re2c/src/code/emit_action.cc +++ b/re2c/src/code/emit_action.cc @@ -334,8 +334,8 @@ void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *o code_lines_t code1; for (; *h != TAGVER_ZERO; ++h) { const std::string s = *h == TAGVER_BOTTOM - ? opts->yytaglistn + " (" + le + ");\n" - : opts->yytaglistp + " (" + le + ");\n"; + ? opts->yymtagn + " (" + le + ");\n" + : opts->yymtagp + " (" + le + ");\n"; code1.push_back(s); } code.insert(code.end(), code1.rbegin(), code1.rend()); @@ -345,8 +345,8 @@ void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *o const std::string v = vartag_expr(l, prefix, expression), s = *h == TAGVER_BOTTOM - ? opts->yytagn + " (" + v + ");\n" - : opts->yytagp + " (" + v + ");\n"; + ? opts->yystagn + " (" + v + ");\n" + : opts->yystagp + " (" + v + ");\n"; code.push_back(s); // save command; no history; default API diff --git a/re2c/src/code/emit_dfa.cc b/re2c/src/code/emit_dfa.cc index 93600359..a47609b1 100644 --- a/re2c/src/code/emit_dfa.cc +++ b/re2c/src/code/emit_dfa.cc @@ -127,26 +127,26 @@ void DFA::emit(Output & output, uint32_t& ind, bool isLastCond, bool& bPrologBra OutputBlock &ob = o.block(); const opt_t *opts = ob.opts; - std::set tagnames, tagvars, taglistnames, taglistvars; + std::set stagnames, stagvars, mtagnames, mtagvars; if (!oldstyle_ctxmarker) { for (size_t i = 0; i < tags.size(); ++i) { const Tag &tag = tags[i]; if (history(tag)) { - taglistvars.insert(*tag.name); + mtagvars.insert(*tag.name); } else if (tag.name) { - tagvars.insert(*tag.name); + stagvars.insert(*tag.name); } } for (tagver_t v = 1; v <= maxtagver; ++v) { const std::string name = vartag_name(v, opts->tags_prefix); - if (listvers.find(v) != listvers.end()) { - taglistnames.insert(name); + if (mtagvers.find(v) != mtagvers.end()) { + mtagnames.insert(name); } else { - tagnames.insert(name); + stagnames.insert(name); } } - ob.tags.insert(tagnames.begin(), tagnames.end()); - ob.taglists.insert(taglistnames.begin(), taglistnames.end()); + ob.stags.insert(stagnames.begin(), stagnames.end()); + ob.mtags.insert(mtagnames.begin(), mtagnames.end()); } if (!cond.empty()) o.block().types.push_back(cond); @@ -175,11 +175,11 @@ void DFA::emit(Output & output, uint32_t& ind, bool isLastCond, bool& bPrologBra if (output.skeletons.insert (name).second) { emit_start(o, max_fill, name, key_size, def_rule, need_backup, - need_accept, oldstyle_ctxmarker, tagnames, tagvars, - taglistnames, taglistvars, bitmaps); + need_accept, oldstyle_ctxmarker, stagnames, stagvars, + mtagnames, mtagvars, bitmaps); uint32_t i = 2; emit_body (o, i, used_labels, initial_label); - emit_end(o, name, need_backup, oldstyle_ctxmarker, taglistnames); + emit_end(o, name, need_backup, oldstyle_ctxmarker, mtagnames); } } else if (opts->target == TARGET_DOT) { emit_dot(o, isLastCond); diff --git a/re2c/src/code/output.cc b/re2c/src/code/output.cc index 291fbfff..f48706c7 100644 --- a/re2c/src/code/output.cc +++ b/re2c/src/code/output.cc @@ -19,9 +19,7 @@ OutputFragment::OutputFragment (type_t t, uint32_t i) OutputFragment::~OutputFragment() { - if (type == TAGS || type == TAGLISTS) { - delete tags; - } + if (type == STAGS || type == MTAGS) delete tags; } uint32_t OutputFragment::count_lines () @@ -44,8 +42,8 @@ OutputBlock::OutputBlock () , used_yyaccept (false) , line (0) , types () - , tags () - , taglists () + , stags () + , mtags () , opts(NULL) { fragments.push_back (new OutputFragment (OutputFragment::CODE, 0)); @@ -210,11 +208,11 @@ void OutputFile::insert_code () } } -OutputFile &OutputFile::wdelay_tags(const ConfTags *cf, bool lists) +OutputFile &OutputFile::wdelay_tags(const ConfTags *cf, bool mtags) { if (block().opts->target == TARGET_CODE) { OutputFragment *frag = new OutputFragment( - lists ? OutputFragment::TAGLISTS : OutputFragment::TAGS, 0); + mtags ? OutputFragment::MTAGS : OutputFragment::STAGS, 0); frag->tags = cf; blocks.back()->fragments.push_back(frag); } @@ -316,20 +314,19 @@ void OutputFile::new_block(Opt &opts) } void OutputFile::global_lists(uniq_vector_t &types, - std::set &tags, std::set &taglists) const + std::set &stags, std::set &mtags) const { for (unsigned int i = 0; i < blocks.size(); ++i) { - const std::vector &cs = blocks[i]->types; for (size_t j = 0; j < cs.size(); ++j) { types.find_or_add(cs[j]); } - const std::set &ts = blocks[i]->tags; - tags.insert(ts.begin(), ts.end()); - - const std::set &tls = blocks[i]->taglists; - taglists.insert(tls.begin(), tls.end()); + const std::set + &st = blocks[i]->stags, + &mt = blocks[i]->mtags; + stags.insert(st.begin(), st.end()); + mtags.insert(mt.begin(), mt.end()); } } @@ -393,8 +390,8 @@ static void foldexpr(std::vector &frags) } bool OutputFile::emit(const uniq_vector_t &global_types, - const std::set &global_tags, - const std::set &global_taglists, + const std::set &global_stags, + const std::set &global_mtags, size_t max_fill) { FILE *file = NULL; @@ -441,11 +438,11 @@ bool OutputFile::emit(const uniq_vector_t &global_types, case OutputFragment::STATE_GOTO: output_state_goto(o, ind, 0, fill_index, bopt); break; - case OutputFragment::TAGS: - output_tags(o, ind, *f.tags, global_tags, bopt); + case OutputFragment::STAGS: + output_tags(o, ind, *f.tags, global_stags, bopt); break; - case OutputFragment::TAGLISTS: - output_tags(o, ind, *f.tags, global_taglists, bopt); + case OutputFragment::MTAGS: + output_tags(o, ind, *f.tags, global_mtags, bopt); break; case OutputFragment::TYPES: output_types(o, ind, block().opts, global_types); @@ -535,13 +532,13 @@ bool Output::emit() } uniq_vector_t types; - std::set tags, taglists; - source.global_lists(types, tags, taglists); + std::set stags, mtags; + source.global_lists(types, stags, mtags); // global options are last block's options const opt_t *opts = source.block().opts; - return source.emit(types, tags, taglists, max_fill) + return source.emit(types, stags, mtags, max_fill) && header.emit(opts, types); } diff --git a/re2c/src/code/output.h b/re2c/src/code/output.h index 5e9b9a0c..6e0be3f6 100644 --- a/re2c/src/code/output.h +++ b/re2c/src/code/output.h @@ -38,8 +38,8 @@ struct OutputFragment , COND_TABLE , LINE_INFO , STATE_GOTO - , TAGS - , TAGLISTS + , STAGS + , MTAGS , TYPES , YYACCEPT_INIT , YYMAXFILL @@ -75,8 +75,8 @@ struct OutputBlock bool used_yyaccept; uint32_t line; std::vector types; - std::set tags; - std::set taglists; + std::set stags; + std::set mtags; const opt_t *opts; OutputBlock (); @@ -123,7 +123,7 @@ public: OutputFile & wind (uint32_t ind); // delayed output - OutputFile & wdelay_tags(const ConfTags *cf, bool lists); + OutputFile & wdelay_tags(const ConfTags *cf, bool mtags); OutputFile & wdelay_line_info (); OutputFile & wdelay_cond_goto(uint32_t ind); OutputFile & wdelay_cond_table(uint32_t ind); @@ -136,11 +136,11 @@ public: OutputFile& wdelay_backup(uint32_t ind, bool backup); void global_lists(uniq_vector_t &types, - std::set &tags, std::set &taglists) const; + std::set &stags, std::set &mtags) const; bool emit(const uniq_vector_t &global_types, - const std::set &global_tags, - const std::set &global_taglists, size_t max_fill); + const std::set &global_stags, + const std::set &global_mtags, size_t max_fill); FORBID_COPY (OutputFile); }; diff --git a/re2c/src/conf/opt.cc b/re2c/src/conf/opt.cc index ed05bf2b..2f24e357 100644 --- a/re2c/src/conf/opt.cc +++ b/re2c/src/conf/opt.cc @@ -76,10 +76,10 @@ void mutopt_t::fix(const conopt_t *globopts) yyrestore = Opt::baseopt.yyrestore; yyrestorectx = Opt::baseopt.yyrestorectx; yyrestoretag = Opt::baseopt.yyrestoretag; - yytagn = Opt::baseopt.yytagn; - yytagp = Opt::baseopt.yytagp; - yytaglistn = Opt::baseopt.yytaglistn; - yytaglistp = Opt::baseopt.yytaglistp; + yystagn = Opt::baseopt.yystagn; + yystagp = Opt::baseopt.yystagp; + yymtagn = Opt::baseopt.yymtagn; + yymtagp = Opt::baseopt.yymtagp; yylessthan = Opt::baseopt.yylessthan; dFlag = Opt::baseopt.dFlag; yydebug = Opt::baseopt.yydebug; @@ -170,11 +170,10 @@ void mutopt_t::fix(const conopt_t *globopts) yyrestore = Opt::baseopt.yyrestore; yyrestorectx = Opt::baseopt.yyrestorectx; yyrestoretag = Opt::baseopt.yyrestoretag; - yytagn = Opt::baseopt.yytagn; - yytagp = Opt::baseopt.yytagp; - yytaglistn = Opt::baseopt.yytaglistn; - yytaglistp = Opt::baseopt.yytaglistp; - yylessthan = Opt::baseopt.yylessthan; + yystagn = Opt::baseopt.yystagn; + yystagp = Opt::baseopt.yystagp; + yymtagn = Opt::baseopt.yymtagn; + yymtagp = Opt::baseopt.yymtagp; } if (!dFlag) { @@ -272,10 +271,10 @@ void Opt::reset_mapCodeName () set_yyrestore(Opt::baseopt.yyrestore); set_yyrestorectx(Opt::baseopt.yyrestorectx); set_yyrestoretag(Opt::baseopt.yyrestoretag); - set_yytagn(Opt::baseopt.yytagn); - set_yytagp(Opt::baseopt.yytagp); - set_yytaglistn(Opt::baseopt.yytaglistn); - set_yytaglistp(Opt::baseopt.yytaglistp); + set_yystagn(Opt::baseopt.yystagn); + set_yystagp(Opt::baseopt.yystagp); + set_yymtagn(Opt::baseopt.yymtagn); + set_yymtagp(Opt::baseopt.yymtagp); set_yyskip(Opt::baseopt.yyskip); set_yyfilllabel(Opt::baseopt.yyfilllabel); set_yynext(Opt::baseopt.yynext); diff --git a/re2c/src/conf/opt.h b/re2c/src/conf/opt.h index e6c1fce7..91d41954 100644 --- a/re2c/src/conf/opt.h +++ b/re2c/src/conf/opt.h @@ -118,10 +118,10 @@ enum target_t MUTOPT (std::string, yyrestorectx, "YYRESTORECTX") \ MUTOPT (std::string, yyrestoretag, "YYRESTORETAG") \ MUTOPT (std::string, yylessthan, "YYLESSTHAN") \ - MUTOPT (std::string, yytagn, "YYTAGN") \ - MUTOPT (std::string, yytagp, "YYTAGP") \ - MUTOPT (std::string, yytaglistn, "YYTAGLISTN") \ - MUTOPT (std::string, yytaglistp, "YYTAGLISTP") \ + MUTOPT (std::string, yystagn, "YYSTAGN") \ + MUTOPT (std::string, yystagp, "YYSTAGP") \ + MUTOPT (std::string, yymtagn, "YYMTAGN") \ + MUTOPT (std::string, yymtagp, "YYMTAGP") \ /* #line directives */ \ MUTOPT (bool, iFlag, false) \ /* debug */ \ diff --git a/re2c/src/conf/warn.cc b/re2c/src/conf/warn.cc index ac383881..2170aa07 100644 --- a/re2c/src/conf/warn.cc +++ b/re2c/src/conf/warn.cc @@ -131,8 +131,9 @@ void Warn::nondeterministic_tags(uint32_t line, const std::string &cond, fprintf(stderr, "tag '%s'", tagname->c_str()); } fprintf(stderr, - " %sis non-deterministic and induces %u parallel instances", - incond(cond).c_str(), static_cast(nver)); + " %shas %u%s degree of nondeterminism", + incond(cond).c_str(), static_cast(nver), + nver == 2 ? "nd" : nver == 3 ? "rd" : "th"); warning_end(names[NONDETERMINISTIC_TAGS], e); } } diff --git a/re2c/src/dfa/cfg/interfere.cc b/re2c/src/dfa/cfg/interfere.cc index e2d91b92..0c9d7f6f 100644 --- a/re2c/src/dfa/cfg/interfere.cc +++ b/re2c/src/dfa/cfg/interfere.cc @@ -22,10 +22,10 @@ void cfg_t::interference(const cfg_t &cfg, const bool *live, bool *interf) } // versions of tags with/without history interfere - std::set &lvs = cfg.dfa.listvers; - for (std::set::iterator i = lvs.begin(); i != lvs.end(); ++i) { + std::set &mt = cfg.dfa.mtagvers; + for (std::set::iterator i = mt.begin(); i != mt.end(); ++i) { for (tagver_t u = *i, v = 0; v < maxver; ++v) { - if (lvs.find(v) == lvs.end()) { + if (mt.find(v) == mt.end()) { interf[v * maxver + u] = interf[u * maxver + v] = true; } } diff --git a/re2c/src/dfa/cfg/rename.cc b/re2c/src/dfa/cfg/rename.cc index 5b660ecd..f271c2e8 100644 --- a/re2c/src/dfa/cfg/rename.cc +++ b/re2c/src/dfa/cfg/rename.cc @@ -37,11 +37,11 @@ void cfg_t::renaming(cfg_t &cfg, const tagver_t *ver2new, tagver_t maxver) } // versions of tags with history - std::set newlvs, &oldlvs = cfg.dfa.listvers; - for (std::set::iterator i = oldlvs.begin(); i != oldlvs.end(); ++i) { - newlvs.insert(ver2new[*i]); + std::set newmt, &oldmt = cfg.dfa.mtagvers; + for (std::set::iterator i = oldmt.begin(); i != oldmt.end(); ++i) { + newmt.insert(ver2new[*i]); } - oldlvs.swap(newlvs); + oldmt.swap(newmt); } } // namespace re2c diff --git a/re2c/src/dfa/determinization.cc b/re2c/src/dfa/determinization.cc index 6efbf292..07fa5ca2 100644 --- a/re2c/src/dfa/determinization.cc +++ b/re2c/src/dfa/determinization.cc @@ -56,7 +56,7 @@ dfa_t::dfa_t(const nfa_t &nfa, const opt_t *opts, , charset(nfa.charset) , rules(nfa.rules) , tags(nfa.tags) - , listvers(*new std::set) + , mtagvers(*new std::set) , finvers(NULL) , tcpool(*new tcpool_t) , maxtagver(0) @@ -89,8 +89,8 @@ dfa_t::dfa_t(const nfa_t &nfa, const opt_t *opts, for (size_t i = 0; i < ntag; ++i) { if (history(tags[i])) { tagver_t v = static_cast(i) + 1, f = finvers[i]; - if (f != TAGVER_ZERO) listvers.insert(f); - listvers.insert(v); + if (f != TAGVER_ZERO) mtagvers.insert(f); + mtagvers.insert(v); } } @@ -112,7 +112,7 @@ dfa_t::dfa_t(const nfa_t &nfa, const opt_t *opts, } // mark tags with history for (newvers_t::iterator j = newvers.begin(); j != newvers.end(); ++j) { - if (history(tags[j->first.tag])) listvers.insert(abs(j->second)); + if (history(tags[j->first.tag])) mtagvers.insert(abs(j->second)); } } diff --git a/re2c/src/dfa/dfa.h b/re2c/src/dfa/dfa.h index 6654a038..2135623f 100644 --- a/re2c/src/dfa/dfa.h +++ b/re2c/src/dfa/dfa.h @@ -54,7 +54,7 @@ struct dfa_t std::vector &charset; std::valarray &rules; std::vector &tags; - std::set &listvers; + std::set &mtagvers; tagver_t *finvers; tcpool_t &tcpool; tagver_t maxtagver; diff --git a/re2c/src/skeleton/generate_code.cc b/re2c/src/skeleton/generate_code.cc index 82c46877..b54d765e 100644 --- a/re2c/src/skeleton/generate_code.cc +++ b/re2c/src/skeleton/generate_code.cc @@ -95,8 +95,8 @@ void emit_prolog(OutputFile &o) void emit_start(OutputFile &o, size_t maxfill, const std::string &name, size_t sizeof_key, size_t def, bool backup, bool accept, bool oldstyle_ctxmarker, - const std::set &tagnames, const std::set &tagvars, - const std::set &taglistnames, const std::set &taglistvars, + const std::set &stagnames, const std::set &stagvars, + const std::set &mtagnames, const std::set &mtagvars, bitmaps_t &bitmaps) { const opt_t *opts = o.block().opts; @@ -122,11 +122,11 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n#define YYRESTORECTX() cursor = ctxmarker"); } if (opts->tags) { - o.ws("\n#define YYTAGP(t) t = cursor"); - o.ws("\n#define YYTAGN(t) t = NULL"); - o.ws("\n#define YYTAGLISTP(tl) yytaglist(&tl, cursor, &yytlp)"); - o.ws("\n#define YYTAGLISTN(tl) yytaglist(&tl, NULL, &yytlp)"); - o.ws("\n#define YYRESTORETAG(tag) cursor = tag"); + o.ws("\n#define YYSTAGP(t) t = cursor"); + o.ws("\n#define YYSTAGN(t) t = NULL"); + o.ws("\n#define YYMTAGP(t) yymtag(&t, cursor, &yytp)"); + o.ws("\n#define YYMTAGN(t) yymtag(&t, NULL, &yytp)"); + o.ws("\n#define YYRESTORETAG(t) cursor = t"); } o.ws("\n#define YYLESSTHAN(n) (limit - cursor) < n"); o.ws("\n#define YYFILL(n) { break; }"); @@ -176,9 +176,9 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n").wind(1).ws("}"); o.ws("\n}"); - if (!tagnames.empty()) { + if (!stagnames.empty()) { o.ws("\n"); - o.ws("\nstatic int check_tag_").wstring(name) + o.ws("\nstatic int check_stag_").wstring(name) .ws("(unsigned *pkix, YYKEYTYPE *keys, const YYCTYPE *tag,\n") .wind(1).ws("const YYCTYPE *input, const YYCTYPE *token, const char *name)"); o.ws("\n{"); @@ -198,69 +198,69 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n}"); } - if (!taglistnames.empty()) { + if (!mtagnames.empty()) { o.ws("\n"); - o.ws("\ntypedef struct yytaglist_t {"); - o.ws("\n").wind(1).ws("struct yytaglist_t *list;"); + o.ws("\ntypedef struct yymtag_t {"); + o.ws("\n").wind(1).ws("struct yymtag_t *pred;"); o.ws("\n").wind(1).ws("const YYCTYPE *tag;"); - o.ws("\n} yytaglist_t;"); + o.ws("\n} yymtag_t;"); o.ws("\n"); - o.ws("\ntypedef struct yytaglistpool_t {"); - o.ws("\n").wind(1).ws("yytaglist_t *head;"); - o.ws("\n").wind(1).ws("yytaglist_t *next;"); - o.ws("\n").wind(1).ws("yytaglist_t *last;"); - o.ws("\n} yytaglistpool_t;"); + o.ws("\ntypedef struct yymtagpool_t {"); + o.ws("\n").wind(1).ws("yymtag_t *head;"); + o.ws("\n").wind(1).ws("yymtag_t *next;"); + o.ws("\n").wind(1).ws("yymtag_t *last;"); + o.ws("\n} yymtagpool_t;"); o.ws("\n"); - o.ws("\nstatic void yytaglistpool_clear(yytaglistpool_t *tlp)"); + o.ws("\nstatic void yymtagpool_clear(yymtagpool_t *tp)"); o.ws("\n{"); - o.ws("\n").wind(1).ws("tlp->next = tlp->head;"); + o.ws("\n").wind(1).ws("tp->next = tp->head;"); o.ws("\n}"); o.ws("\n"); - o.ws("\nstatic void yytaglistpool_init(yytaglistpool_t *tlp)"); + o.ws("\nstatic void yymtagpool_init(yymtagpool_t *tp)"); o.ws("\n{"); o.ws("\n").wind(1).ws("static const unsigned size = 256;"); - o.ws("\n").wind(1).ws("tlp->head = (yytaglist_t*)malloc(size * sizeof(yytaglist_t));"); - o.ws("\n").wind(1).ws("tlp->next = tlp->head;"); - o.ws("\n").wind(1).ws("tlp->last = tlp->head + size;"); + o.ws("\n").wind(1).ws("tp->head = (yymtag_t*)malloc(size * sizeof(yymtag_t));"); + o.ws("\n").wind(1).ws("tp->next = tp->head;"); + o.ws("\n").wind(1).ws("tp->last = tp->head + size;"); o.ws("\n}"); o.ws("\n"); - o.ws("\nstatic void yytaglistpool_free(yytaglistpool_t *tlp)"); + o.ws("\nstatic void yymtagpool_free(yymtagpool_t *tp)"); o.ws("\n{"); - o.ws("\n").wind(1).ws("free(tlp->head);"); - o.ws("\n").wind(1).ws("tlp->head = tlp->next = tlp->last = NULL;"); + o.ws("\n").wind(1).ws("free(tp->head);"); + o.ws("\n").wind(1).ws("tp->head = tp->next = tp->last = NULL;"); o.ws("\n}"); o.ws("\n"); - o.ws("\nstatic yytaglist_t *yytaglistpool_next(yytaglistpool_t *tlp)"); + o.ws("\nstatic yymtag_t *yymtagpool_next(yymtagpool_t *tp)"); o.ws("\n{"); - o.ws("\n").wind(1).ws("if (tlp->next == tlp->last) {"); - o.ws("\n").wind(2).ws("const unsigned size = tlp->last - tlp->head;"); - o.ws("\n").wind(2).ws("yytaglist_t *head = (yytaglist_t*)malloc(2 * size * sizeof(yytaglist_t));"); - o.ws("\n").wind(2).ws("memcpy(head, tlp->head, size * sizeof(yytaglist_t));"); - o.ws("\n").wind(2).ws("free(tlp->head);"); - o.ws("\n").wind(2).ws("tlp->head = head;"); - o.ws("\n").wind(2).ws("tlp->next = head + size;"); - o.ws("\n").wind(2).ws("tlp->last = head + size * 2;"); + o.ws("\n").wind(1).ws("if (tp->next == tp->last) {"); + o.ws("\n").wind(2).ws("const unsigned size = tp->last - tp->head;"); + o.ws("\n").wind(2).ws("yymtag_t *head = (yymtag_t*)malloc(2 * size * sizeof(yymtag_t));"); + o.ws("\n").wind(2).ws("memcpy(head, tp->head, size * sizeof(yymtag_t));"); + o.ws("\n").wind(2).ws("free(tp->head);"); + o.ws("\n").wind(2).ws("tp->head = head;"); + o.ws("\n").wind(2).ws("tp->next = head + size;"); + o.ws("\n").wind(2).ws("tp->last = head + size * 2;"); o.ws("\n").wind(1).ws("}"); - o.ws("\n").wind(1).ws("return tlp->next++;"); + o.ws("\n").wind(1).ws("return tp->next++;"); o.ws("\n}"); o.ws("\n"); - o.ws("\nstatic void yytaglist(yytaglist_t **ptl, const YYCTYPE *t, yytaglistpool_t *tlp)"); + o.ws("\nstatic void yymtag(yymtag_t **pt, const YYCTYPE *t, yymtagpool_t *tp)"); o.ws("\n{"); - o.ws("\n").wind(1).ws("yytaglist_t *tl = yytaglistpool_next(tlp);"); - o.ws("\n").wind(1).ws("tl->list = *ptl;"); - o.ws("\n").wind(1).ws("tl->tag = t;"); - o.ws("\n").wind(1).ws("*ptl = tl;"); + o.ws("\n").wind(1).ws("yymtag_t *t = yymtagpool_next(tp);"); + o.ws("\n").wind(1).ws("t->pred = *pt;"); + o.ws("\n").wind(1).ws("t->tag = t;"); + o.ws("\n").wind(1).ws("*pt = t;"); o.ws("\n}"); o.ws("\n"); - o.ws("\nstatic int check_taglist_").wstring(name) - .ws("(unsigned *pkix, YYKEYTYPE *keys, const yytaglist_t *list,\n") + o.ws("\nstatic int check_mtag_").wstring(name) + .ws("(unsigned *pkix, YYKEYTYPE *keys, const yymtag_t *tag,\n") .wind(1).ws("const YYCTYPE *input, const YYCTYPE *token, const char *name)"); o.ws("\n{"); // o.ws("\n").wind(1).ws("check_key_count_").wstring(name).ws("(1) && return 1;"); @@ -269,14 +269,14 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n").wind(1).ws("*pkix = kix + n + 1;"); // o.ws("\n").wind(1).ws("check_key_count_").wstring(name).ws("(n) && return 1;"); o.ws("\n").wind(1).ws("for (; n > 0; --n) {"); - o.ws("\n").wind(2).ws("if (list == NULL) {"); + o.ws("\n").wind(2).ws("if (tag == NULL) {"); o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": at position %ld, key %u: \"") .ws("\n").wind(4).ws("\"history for tag '%s' is too short\\n\",") .ws("\n").wind(4).ws("token - input, kix + n, name);"); o.ws("\n").wind(3).ws("return 1;"); o.ws("\n").wind(2).ws("}"); - o.ws("\n").wind(2).ws("const YYCTYPE *tag = list->tag;"); - o.ws("\n").wind(2).ws("list = list->list;"); + o.ws("\n").wind(2).ws("const YYCTYPE *tag = tag->offs;"); + o.ws("\n").wind(2).ws("tag = tag->pred;"); o.ws("\n").wind(2).ws("const YYKEYTYPE\n") .wind(3).ws("exp = keys[kix + n],\n") .wind(3).ws("act = (YYKEYTYPE)(tag - token),\n") @@ -288,7 +288,7 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n").wind(3).ws("return 1;"); o.ws("\n").wind(2).ws("}"); o.ws("\n").wind(1).ws("}"); - o.ws("\n").wind(1).ws("if (list != NULL) {"); + o.ws("\n").wind(1).ws("if (tag != NULL) {"); o.ws("\n").wind(2).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": at position %ld, key %u: \"") .ws("\n").wind(3).ws("\"history for tag '%s' is too long\\n\",") .ws("\n").wind(3).ws("token - input, kix, name);"); @@ -320,10 +320,10 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n").wind(1).ws("const YYCTYPE *token = NULL;"); o.ws("\n").wind(1).ws("const YYCTYPE *eof = NULL;"); o.ws("\n").wind(1).ws("unsigned int i = 0;"); - if (!taglistnames.empty()) { + if (!mtagnames.empty()) { o.ws("\n"); - o.ws("\n").wind(1).ws("yytaglistpool_t yytlp;"); - o.ws("\n").wind(1).ws("yytaglistpool_init(&yytlp);"); + o.ws("\n").wind(1).ws("yymtagpool_t yytp;"); + o.ws("\n").wind(1).ws("yymtagpool_init(&yytp);"); } o.ws("\n"); o.ws("\n").wind(1).ws("input = (YYCTYPE *) read_file"); @@ -378,13 +378,13 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n").wind(2).ws("unsigned int yyaccept = 0;"); } - // autogenerated tag variables + // autogenerated stag variables ConfTags conf("\n" + indent(2, opts->indString) + "const YYCTYPE *@@ = NULL;", ""); - output_tags(o.stream(), 0, conf, tagnames, opts); - // user-defined tag variables + output_tags(o.stream(), 0, conf, stagnames, opts); + // user-defined stag variables std::set::const_iterator - var1 = tagvars.begin(), - var2 = tagvars.end(); + var1 = stagvars.begin(), + var2 = stagvars.end(); if (var1 != var2) { o.ws("\n").wind(2).ws("const YYCTYPE *").wstring(*var1); for (++var1; var1 != var2; ++var1) { @@ -392,16 +392,16 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, } o.ws(";"); } - if (!taglistnames.empty()) { - o.ws("\n").wind(2).ws("yytaglistpool_clear(&yytlp);"); - // autogenerated tag list variables - conf.format = "yytaglist_t *@@ = NULL;"; - output_tags(o.stream(), 0, conf, taglistnames, opts); - // user-defined tag list variables - var1 = taglistvars.begin(); - var2 = taglistvars.end(); + if (!mtagnames.empty()) { + o.ws("\n").wind(2).ws("yymtagpool_clear(&yytp);"); + // autogenerated mtag variables + conf.format = "yymtag_t *@@ = NULL;"; + output_tags(o.stream(), 0, conf, mtagnames, opts); + // user-defined mtag variables + var1 = mtagvars.begin(); + var2 = mtagvars.end(); if (var1 != var2) { - o.ws("\n").wind(2).ws("yytaglist_t *").wstring(*var1); + o.ws("\n").wind(2).ws("yymtag_t *").wstring(*var1); for (++var1; var1 != var2; ++var1) { o.ws(", *").wstring(*var1); } @@ -417,7 +417,7 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, } void emit_end(OutputFile &o, const std::string &name, bool backup, bool oldstyle_ctxmarker, - const std::set &taglistnames) + const std::set &mtagnames) { o.ws("\n").wind(1).ws("}"); o.ws("\n").wind(1).ws("if (status == 0) {"); @@ -435,8 +435,8 @@ void emit_end(OutputFile &o, const std::string &name, bool backup, bool oldstyle o.ws("\nend:"); o.ws("\n").wind(1).ws("free(input);"); o.ws("\n").wind(1).ws("free(keys);"); - if (!taglistnames.empty()) { - o.ws("\n").wind(1).ws("yytaglistpool_free(&yytlp);"); + if (!mtagnames.empty()) { + o.ws("\n").wind(1).ws("yymtagpool_free(&yytp);"); } o.ws("\n"); o.ws("\n").wind(1).ws("return status;"); @@ -499,8 +499,8 @@ void emit_action(OutputFile &o, uint32_t ind, const DFA &dfa, size_t rid) const Tag &tag = dfa.tags[t]; if (t == r.ttag || fictive(tag)) continue; const std::string tname = tagname(tag), - list = history(tag) ? "list" : ""; - o.ws("\n").wind(ind + 1).ws(" || check_tag").wstring(list).ws("_").wstring(name) + prefix = history(tag) ? "m" : "s"; + o.ws("\n").wind(ind + 1).ws(" || check_").wstring(prefix).ws("tag").ws("_").wstring(name) .ws("(&i, keys, ").wstring(tname).ws(", input, token, \"") .wstring(tname).ws("\")"); } diff --git a/re2c/src/skeleton/skeleton.h b/re2c/src/skeleton/skeleton.h index 35369fc3..1d91cdfb 100644 --- a/re2c/src/skeleton/skeleton.h +++ b/re2c/src/skeleton/skeleton.h @@ -107,11 +107,11 @@ void emit_data(const Skeleton &skel); void emit_prolog(OutputFile & o); void emit_start(OutputFile &o, size_t maxfill, const std::string &name, size_t sizeof_key, size_t def, bool backup, bool accept, bool oldstyle_ctxmarker, - const std::set &tagnames, const std::set &tagvars, - const std::set &taglistnames, const std::set &taglistvars, + const std::set &stagnames, const std::set &stagvars, + const std::set &mtagnames, const std::set &mtagvars, bitmaps_t &bitmaps); void emit_end(OutputFile &o, const std::string &name, bool backup, bool oldstyle_ctxmarker, - const std::set &taglistnames); + const std::set &mtagnames); void emit_epilog(OutputFile &o, const std::set &names); void emit_action(OutputFile &o, uint32_t ind, const DFA &dfa, size_t rid); diff --git a/re2c/test/posix_captures/.run/template b/re2c/test/posix_captures/.run/template index d36fe447..fdb5238d 100644 --- a/re2c/test/posix_captures/.run/template +++ b/re2c/test/posix_captures/.run/template @@ -3,7 +3,7 @@ static int lex(const char *YYCURSOR) { const char *YYMARKER; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:yyfill:enable = 0; re2c:define:YYCTYPE = char; diff --git a/re2c/test/tags/ambiguity/cat1.i--tags.c b/re2c/test/tags/ambiguity/cat1.i--tags.c index cf775a71..2ef72cc1 100644 --- a/re2c/test/tags/ambiguity/cat1.i--tags.c +++ b/re2c/test/tags/ambiguity/cat1.i--tags.c @@ -35,4 +35,4 @@ yy7: { @p } } -re2c: warning: line 2: tag 'p' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 2: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/ambiguity/cat3.i.c b/re2c/test/tags/ambiguity/cat3.i.c index bb498ed6..ee355643 100644 --- a/re2c/test/tags/ambiguity/cat3.i.c +++ b/re2c/test/tags/ambiguity/cat3.i.c @@ -125,7 +125,7 @@ yy28: yych = YYPEEK (); switch (yych) { case 'a': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy29; default: goto yy27; } @@ -135,7 +135,7 @@ yy29: yych = YYPEEK (); switch (yych) { case 'a': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy29; default: goto yy31; } @@ -144,5 +144,5 @@ yy31: {} } -re2c: warning: line 21: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 29: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 21: trailing context has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 29: trailing context has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/ambiguity/cat4.i--tags.c b/re2c/test/tags/ambiguity/cat4.i--tags.c index 8ffbc8c2..312fa7f7 100644 --- a/re2c/test/tags/ambiguity/cat4.i--tags.c +++ b/re2c/test/tags/ambiguity/cat4.i--tags.c @@ -41,4 +41,4 @@ yy7: } } -re2c: warning: line 4: tag 'p' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 4: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/bug121_fix_multiple.i--input(custom).c b/re2c/test/tags/bug121_fix_multiple.i--input(custom).c index 2d0ddf8e..d5edc36d 100644 --- a/re2c/test/tags/bug121_fix_multiple.i--input(custom).c +++ b/re2c/test/tags/bug121_fix_multiple.i--input(custom).c @@ -1 +1 @@ -re2c: error: line 10: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!tags:re2c ... */' directive +re2c: error: line 10: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!stags:re2c ... */' directive diff --git a/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c b/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c index 69b5145e..fafac041 100644 --- a/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c +++ b/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c @@ -25,7 +25,7 @@ yy4: yych = YYPEEK (); switch (yych) { case 'b': - YYTAGP (yyt2); + YYSTAGP (yyt2); goto yy5; default: goto yy3; } @@ -50,7 +50,7 @@ yy7: yych = YYPEEK (); switch (yych) { case 'b': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy9; default: goto yy8; } diff --git a/re2c/test/tags/bug121_var_multiple.i--input(custom).c b/re2c/test/tags/bug121_var_multiple.i--input(custom).c index 555e5584..0cc024b5 100644 --- a/re2c/test/tags/bug121_var_multiple.i--input(custom).c +++ b/re2c/test/tags/bug121_var_multiple.i--input(custom).c @@ -1 +1 @@ -re2c: error: line 8: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!tags:re2c ... */' directive +re2c: error: line 8: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!stags:re2c ... */' directive diff --git a/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c b/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c index e6a53533..c2b38380 100644 --- a/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c +++ b/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c @@ -16,7 +16,7 @@ yy2: { d } yy4: yych = YYPEEK (); - YYTAGP (yyt2); + YYSTAGP (yyt2); switch (yych) { case 'b': YYSKIP (); @@ -31,7 +31,7 @@ yy6: yych = YYPEEK (); switch (yych) { case 'c': - YYTAGP (yyt1); + YYSTAGP (yyt1); YYSKIP (); goto yy9; default: goto yy8; diff --git a/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c b/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c index b63af7ae..69508eac 100644 --- a/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c +++ b/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c @@ -17,7 +17,7 @@ yy2: yy4: YYSKIP (); yych = YYPEEK (); - YYTAGP (yyt2); + YYSTAGP (yyt2); switch (yych) { case 'b': goto yy6; default: goto yy5; @@ -31,7 +31,7 @@ yy6: yych = YYPEEK (); switch (yych) { case 'c': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy9; default: goto yy8; } diff --git a/re2c/test/tags/bug121_var_multiple.i.c b/re2c/test/tags/bug121_var_multiple.i.c index 555e5584..0cc024b5 100644 --- a/re2c/test/tags/bug121_var_multiple.i.c +++ b/re2c/test/tags/bug121_var_multiple.i.c @@ -1 +1 @@ -re2c: error: line 8: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!tags:re2c ... */' directive +re2c: error: line 8: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!stags:re2c ... */' directive diff --git a/re2c/test/tags/conf1.i--tags--input(custom).re b/re2c/test/tags/conf1.i--tags--input(custom).re index fe1bc273..d5050998 100644 --- a/re2c/test/tags/conf1.i--tags--input(custom).re +++ b/re2c/test/tags/conf1.i--tags--input(custom).re @@ -20,7 +20,7 @@ static void lex(const char *s) #define ZZTN(t) t = NULL #define ZZRT(t) s = t const char *marker, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; @@ -43,8 +43,8 @@ static void lex(const char *s) return; } - re2c:define:YYTAGP = "ZZTP"; - re2c:define:YYTAGN = "ZZTN"; + re2c:define:YYSTAGP = "ZZTP"; + re2c:define:YYSTAGN = "ZZTN"; re2c:define:YYRESTORETAG = "ZZRT"; re2c:tags:prefix = "zz_"; */ diff --git a/re2c/test/tags/conf1.i--tags.re b/re2c/test/tags/conf1.i--tags.re index dbe44f3c..50cf14bd 100644 --- a/re2c/test/tags/conf1.i--tags.re +++ b/re2c/test/tags/conf1.i--tags.re @@ -13,7 +13,7 @@ static inline unsigned parse_oct(const char *s, const char *e) static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/conf2.i--tags--input(custom).c b/re2c/test/tags/conf2.i--tags--input(custom).c index 10434366..8a01b744 100644 --- a/re2c/test/tags/conf2.i--tags--input(custom).c +++ b/re2c/test/tags/conf2.i--tags--input(custom).c @@ -68,8 +68,8 @@ static bool lex(input_t & in) #define YYSKIP() ++in.cur #define YYBACKUP() in.mar = in.cur #define YYRESTORE() in.cur = in.mar -#define YYTAGP(t) t = in.cur -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = in.cur +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) in.cur = t #define YYLESSTHAN(n) in.lim - in.cur < n loop: @@ -107,7 +107,7 @@ yy6: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt1); + YYSTAGP (in.yyt1); goto yy7; case '0': case '1': @@ -145,7 +145,7 @@ yy9: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt1); + YYSTAGP (in.yyt1); goto yy7; case '0': case '1': @@ -164,7 +164,7 @@ yy10: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt2); + YYSTAGP (in.yyt2); goto yy12; case '0': case '1': @@ -183,7 +183,7 @@ yy11: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt1); + YYSTAGP (in.yyt1); goto yy7; default: goto yy8; } @@ -208,7 +208,7 @@ yy13: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt2); + YYSTAGP (in.yyt2); goto yy12; case '0': case '1': @@ -227,7 +227,7 @@ yy14: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt3); + YYSTAGP (in.yyt3); goto yy16; case '0': case '1': @@ -246,7 +246,7 @@ yy15: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt2); + YYSTAGP (in.yyt2); goto yy12; default: goto yy8; } @@ -271,7 +271,7 @@ yy17: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt3); + YYSTAGP (in.yyt3); goto yy16; case '0': case '1': @@ -307,7 +307,7 @@ yy19: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (in.yyt3); + YYSTAGP (in.yyt3); goto yy16; default: goto yy8; } diff --git a/re2c/test/tags/conf2.i--tags--input(custom).re b/re2c/test/tags/conf2.i--tags--input(custom).re index 70d66d2e..971e69ef 100644 --- a/re2c/test/tags/conf2.i--tags--input(custom).re +++ b/re2c/test/tags/conf2.i--tags--input(custom).re @@ -21,7 +21,7 @@ struct input_t { char *cur; char *mar; char *tok; - /*!tags:re2c format = "char *@@;"; */ + /*!stags:re2c format = "char *@@;"; */ bool eof; input_t() @@ -30,7 +30,7 @@ struct input_t { , cur(lim) , mar(lim) , tok(lim) - /*!tags:re2c format = ", @@(0)"; */ + /*!stags:re2c format = ", @@(0)"; */ , eof(false) {} bool fill(size_t need) @@ -49,7 +49,7 @@ struct input_t { cur -= free; mar -= free; tok -= free; - /*!tags:re2c format = "@@ -= free;"; */ + /*!stags:re2c format = "@@ -= free;"; */ lim += fread(lim, 1, free, stdin); if (lim < buf + SIZE) { eof = true; @@ -66,8 +66,8 @@ static bool lex(input_t & in) #define YYSKIP() ++in.cur #define YYBACKUP() in.mar = in.cur #define YYRESTORE() in.cur = in.mar -#define YYTAGP(t) t = in.cur -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = in.cur +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) in.cur = t #define YYLESSTHAN(n) in.lim - in.cur < n loop: diff --git a/re2c/test/tags/conf2.i--tags.re b/re2c/test/tags/conf2.i--tags.re index 78cd325b..82b223b4 100644 --- a/re2c/test/tags/conf2.i--tags.re +++ b/re2c/test/tags/conf2.i--tags.re @@ -21,7 +21,7 @@ struct input_t { char *cur; char *mar; char *tok; - /*!tags:re2c format = "char *@@;"; */ + /*!stags:re2c format = "char *@@;"; */ bool eof; input_t() @@ -30,7 +30,7 @@ struct input_t { , cur(lim) , mar(lim) , tok(lim) - /*!tags:re2c format = ", @@(0)"; */ + /*!stags:re2c format = ", @@(0)"; */ , eof(false) {} bool fill(size_t need) @@ -49,7 +49,7 @@ struct input_t { cur -= free; mar -= free; tok -= free; - /*!tags:re2c format = "@@ -= free;"; */ + /*!stags:re2c format = "@@ -= free;"; */ lim += fread(lim, 1, free, stdin); if (lim < buf + SIZE) { eof = true; diff --git a/re2c/test/tags/conf3.i--tags--input(custom).c b/re2c/test/tags/conf3.i--tags--input(custom).c index c5385a3e..cfc3827a 100644 --- a/re2c/test/tags/conf3.i--tags--input(custom).c +++ b/re2c/test/tags/conf3.i--tags--input(custom).c @@ -26,8 +26,8 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; tags_t tags; @@ -46,7 +46,7 @@ static void lex(const char *s) case '7': case '8': case '9': - YYTAGP (tags.yyt1); + YYSTAGP (tags.yyt1); goto yy4; default: goto yy2; } @@ -60,7 +60,7 @@ yy4: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt2); + YYSTAGP (tags.yyt2); goto yy5; case '0': case '1': @@ -98,7 +98,7 @@ yy7: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt2); + YYSTAGP (tags.yyt2); goto yy5; case '0': case '1': @@ -117,7 +117,7 @@ yy8: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt3); + YYSTAGP (tags.yyt3); goto yy10; case '0': case '1': @@ -136,7 +136,7 @@ yy9: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt2); + YYSTAGP (tags.yyt2); goto yy5; default: goto yy6; } @@ -161,7 +161,7 @@ yy11: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt3); + YYSTAGP (tags.yyt3); goto yy10; case '0': case '1': @@ -180,7 +180,7 @@ yy12: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt4); + YYSTAGP (tags.yyt4); goto yy14; case '0': case '1': @@ -199,7 +199,7 @@ yy13: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt3); + YYSTAGP (tags.yyt3); goto yy10; default: goto yy6; } @@ -224,7 +224,7 @@ yy15: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt4); + YYSTAGP (tags.yyt4); goto yy14; case '0': case '1': @@ -272,7 +272,7 @@ yy18: yych = YYPEEK (); switch (yych) { case '.': - YYTAGP (tags.yyt4); + YYSTAGP (tags.yyt4); goto yy14; default: goto yy6; } diff --git a/re2c/test/tags/conf3.i--tags--input(custom).re b/re2c/test/tags/conf3.i--tags--input(custom).re index 49a01fda..7bb6c854 100644 --- a/re2c/test/tags/conf3.i--tags--input(custom).re +++ b/re2c/test/tags/conf3.i--tags--input(custom).re @@ -12,13 +12,13 @@ static inline unsigned parse_oct(const char *s, const char *e) struct tags_t { - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ tags_t(); - void push(/*!tags:re2c + void push(/*!stags:re2c format = "const char *arg_@@"; separator = ","; */); - void pop(/*!tags:re2c + void pop(/*!stags:re2c format = "const char *&arg_@@"; separator = ","; */); }; @@ -29,8 +29,8 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; tags_t tags; @@ -59,23 +59,23 @@ static void lex(const char *s) */ } -tags_t::tags_t(): /*!tags:re2c +tags_t::tags_t(): /*!stags:re2c format = "@@(0)"; separator = ","; */ {} -void tags_t::push(/*!tags:re2c +void tags_t::push(/*!stags:re2c format = "const char *arg_@@"; separator = ","; */) { - /*!tags:re2c format = "@@ = arg_@@;"; */ + /*!stags:re2c format = "@@ = arg_@@;"; */ } -void tags_t::pop(/*!tags:re2c +void tags_t::pop(/*!stags:re2c format = "const char *&arg_@@"; separator = ","; */) { - /*!tags:re2c format = "arg_@@ = @@;"; */ + /*!stags:re2c format = "arg_@@ = @@;"; */ } int main(int argc, char **argv) diff --git a/re2c/test/tags/conf3.i--tags.re b/re2c/test/tags/conf3.i--tags.re index 2b95261d..ad4f4091 100644 --- a/re2c/test/tags/conf3.i--tags.re +++ b/re2c/test/tags/conf3.i--tags.re @@ -12,13 +12,13 @@ static inline unsigned parse_oct(const char *s, const char *e) struct tags_t { - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ tags_t(); - void push(/*!tags:re2c + void push(/*!stags:re2c format = "const char *arg_@@"; separator = ","; */); - void pop(/*!tags:re2c + void pop(/*!stags:re2c format = "const char *&arg_@@"; separator = ","; */); }; @@ -52,23 +52,23 @@ static void lex(const char *YYCURSOR) */ } -tags_t::tags_t(): /*!tags:re2c +tags_t::tags_t(): /*!stags:re2c format = "@@(0)"; separator = ","; */ {} -void tags_t::push(/*!tags:re2c +void tags_t::push(/*!stags:re2c format = "const char *arg_@@"; separator = ","; */) { - /*!tags:re2c format = "@@ = arg_@@;"; */ + /*!stags:re2c format = "@@ = arg_@@;"; */ } -void tags_t::pop(/*!tags:re2c +void tags_t::pop(/*!stags:re2c format = "const char *&arg_@@"; separator = ","; */) { - /*!tags:re2c format = "arg_@@ = @@;"; */ + /*!stags:re2c format = "arg_@@ = @@;"; */ } int main(int argc, char **argv) diff --git a/re2c/test/tags/copy_coalescing1.i--tags.re b/re2c/test/tags/copy_coalescing1.i--tags.re index 429ae3b9..1c773b51 100644 --- a/re2c/test/tags/copy_coalescing1.i--tags.re +++ b/re2c/test/tags/copy_coalescing1.i--tags.re @@ -7,7 +7,7 @@ // Coalescing adds bias to this choice: we first try to merge // copy operands, then examine the rest of tags. -/*!tags:re2c format = "@@\n"; */ +/*!stags:re2c format = "@@\n"; */ /*!re2c ("a" @p "c" @q)* { p q } ("a" @r "d" @s)* { r s } diff --git a/re2c/test/tags/copy_coalescing2.i--tags.re b/re2c/test/tags/copy_coalescing2.i--tags.re index a21d7119..25b4de16 100644 --- a/re2c/test/tags/copy_coalescing2.i--tags.re +++ b/re2c/test/tags/copy_coalescing2.i--tags.re @@ -2,7 +2,7 @@ // of tag versions after copy coalescing during allocation of // tag variables. -/*!tags:re2c format = "@@\n"; */ +/*!stags:re2c format = "@@\n"; */ /*!re2c ("a" @p "c")* { p } ("a" @q "d")* { q } diff --git a/re2c/test/tags/copy_save.i--tags.c b/re2c/test/tags/copy_save.i--tags.c index f064ada3..f882684d 100644 --- a/re2c/test/tags/copy_save.i--tags.c +++ b/re2c/test/tags/copy_save.i--tags.c @@ -53,4 +53,4 @@ yy7: } re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 3: tag 'p' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/counter1.i--tags.c b/re2c/test/tags/counter1.i--tags.c index 9b373ac6..c710581d 100644 --- a/re2c/test/tags/counter1.i--tags.c +++ b/re2c/test/tags/counter1.i--tags.c @@ -115,4 +115,4 @@ yy16: {} } -re2c: warning: line 3: tag 'z' is non-deterministic and induces 11 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'z' has 11th degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/fallback4.i--tags.re b/re2c/test/tags/fallback4.i--tags.re index d5e76d7e..94e3630a 100644 --- a/re2c/test/tags/fallback4.i--tags.re +++ b/re2c/test/tags/fallback4.i--tags.re @@ -2,7 +2,7 @@ // in tag optimization: there is a chance that they will be // merged with other tags. -/*!tags:re2c format = "@@\n"; */ +/*!stags:re2c format = "@@\n"; */ /*!re2c ("a" @p "bc")+ { p } // needs fallback tag for @p diff --git a/re2c/test/tags/fallback6.i--tags.re b/re2c/test/tags/fallback6.i--tags.re index 34670fd6..2e8038f3 100644 --- a/re2c/test/tags/fallback6.i--tags.re +++ b/re2c/test/tags/fallback6.i--tags.re @@ -1,4 +1,4 @@ -/*!tags:re2c format = "@@\n"; */ +/*!stags:re2c format = "@@\n"; */ /*!re2c (@p "ab" | "c" "d")* { p } diff --git a/re2c/test/tags/fix2.i--tags.re b/re2c/test/tags/fix2.i--tags.re index ba31a5b2..439897e4 100644 --- a/re2c/test/tags/fix2.i--tags.re +++ b/re2c/test/tags/fix2.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3, *p4; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix2_trail.i--tags--input(custom).c b/re2c/test/tags/fix2_trail.i--tags--input(custom).c index 3ad4e069..c5a2fc50 100644 --- a/re2c/test/tags/fix2_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix2_trail.i--tags--input(custom).c @@ -8,8 +8,8 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,7 +19,7 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy4; default: goto yy2; } @@ -33,7 +33,7 @@ yy4: yych = YYPEEK (); switch (yych) { case '1': - YYTAGP (yyt2); + YYSTAGP (yyt2); goto yy5; default: goto yy3; } @@ -52,7 +52,7 @@ yy7: yych = YYPEEK (); switch (yych) { case '2': - YYTAGP (yyt3); + YYSTAGP (yyt3); goto yy8; default: goto yy6; } @@ -75,7 +75,7 @@ yy10: yych = YYPEEK (); switch (yych) { case '3': - YYTAGP (yyt4); + YYSTAGP (yyt4); goto yy11; default: goto yy6; } @@ -105,7 +105,7 @@ yy14: yych = YYPEEK (); switch (yych) { case '4': - YYTAGP (yyt5); + YYSTAGP (yyt5); goto yy15; default: goto yy6; } diff --git a/re2c/test/tags/fix2_trail.i--tags--input(custom).re b/re2c/test/tags/fix2_trail.i--tags--input(custom).re index f8b28251..8968f11e 100644 --- a/re2c/test/tags/fix2_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix2_trail.i--tags--input(custom).re @@ -7,11 +7,11 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix2_trail.i--tags.re b/re2c/test/tags/fix2_trail.i--tags.re index 254bb482..505b0e06 100644 --- a/re2c/test/tags/fix2_trail.i--tags.re +++ b/re2c/test/tags/fix2_trail.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix3.i--tags.re b/re2c/test/tags/fix3.i--tags.re index 4b34b83f..801438c1 100644 --- a/re2c/test/tags/fix3.i--tags.re +++ b/re2c/test/tags/fix3.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3, *p4; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix3_trail.i--tags--input(custom).c b/re2c/test/tags/fix3_trail.i--tags--input(custom).c index c1e667f8..83ebe0ab 100644 --- a/re2c/test/tags/fix3_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix3_trail.i--tags--input(custom).c @@ -8,8 +8,8 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,29 +19,29 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy4; case '1': - YYTAGP (yyt1); - YYTAGP (yyt2); + YYSTAGP (yyt1); + YYSTAGP (yyt2); goto yy7; case '2': - YYTAGP (yyt1); - YYTAGP (yyt2); - YYTAGP (yyt3); + YYSTAGP (yyt1); + YYSTAGP (yyt2); + YYSTAGP (yyt3); goto yy9; case '3': - YYTAGP (yyt1); - YYTAGP (yyt2); - YYTAGP (yyt3); - YYTAGP (yyt4); + YYSTAGP (yyt1); + YYSTAGP (yyt2); + YYSTAGP (yyt3); + YYSTAGP (yyt4); goto yy11; case '4': - YYTAGP (yyt1); - YYTAGP (yyt2); - YYTAGP (yyt3); - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt1); + YYSTAGP (yyt2); + YYSTAGP (yyt3); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy13; default: goto yy2; } @@ -54,28 +54,28 @@ yy4: switch (yych) { case '0': goto yy4; case '1': - YYTAGP (yyt2); + YYSTAGP (yyt2); goto yy7; case '2': - YYTAGP (yyt2); - YYTAGP (yyt3); + YYSTAGP (yyt2); + YYSTAGP (yyt3); goto yy9; case '3': - YYTAGP (yyt2); - YYTAGP (yyt3); - YYTAGP (yyt4); + YYSTAGP (yyt2); + YYSTAGP (yyt3); + YYSTAGP (yyt4); goto yy11; case '4': - YYTAGP (yyt2); - YYTAGP (yyt3); - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt2); + YYSTAGP (yyt3); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy13; default: - YYTAGP (yyt2); - YYTAGP (yyt3); - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt2); + YYSTAGP (yyt3); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy6; } yy6: @@ -99,21 +99,21 @@ yy7: switch (yych) { case '1': goto yy7; case '2': - YYTAGP (yyt3); + YYSTAGP (yyt3); goto yy9; case '3': - YYTAGP (yyt3); - YYTAGP (yyt4); + YYSTAGP (yyt3); + YYSTAGP (yyt4); goto yy11; case '4': - YYTAGP (yyt3); - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt3); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy13; default: - YYTAGP (yyt3); - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt3); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy6; } yy9: @@ -122,15 +122,15 @@ yy9: switch (yych) { case '2': goto yy9; case '3': - YYTAGP (yyt4); + YYSTAGP (yyt4); goto yy11; case '4': - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy13; default: - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy6; } yy11: @@ -139,10 +139,10 @@ yy11: switch (yych) { case '3': goto yy11; case '4': - YYTAGP (yyt5); + YYSTAGP (yyt5); goto yy13; default: - YYTAGP (yyt5); + YYSTAGP (yyt5); goto yy6; } yy13: diff --git a/re2c/test/tags/fix3_trail.i--tags--input(custom).re b/re2c/test/tags/fix3_trail.i--tags--input(custom).re index 65b2f90e..b36d49e7 100644 --- a/re2c/test/tags/fix3_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix3_trail.i--tags--input(custom).re @@ -7,11 +7,11 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix3_trail.i--tags.re b/re2c/test/tags/fix3_trail.i--tags.re index f4034bcc..1e9a5229 100644 --- a/re2c/test/tags/fix3_trail.i--tags.re +++ b/re2c/test/tags/fix3_trail.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix4.i--tags.re b/re2c/test/tags/fix4.i--tags.re index e39a6920..6e168f8e 100644 --- a/re2c/test/tags/fix4.i--tags.re +++ b/re2c/test/tags/fix4.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3, *p4; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix4_trail.i--tags--input(custom).c b/re2c/test/tags/fix4_trail.i--tags--input(custom).c index e73da6e2..34a06a7b 100644 --- a/re2c/test/tags/fix4_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix4_trail.i--tags--input(custom).c @@ -8,8 +8,8 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,7 +19,7 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy4; default: goto yy2; } @@ -33,11 +33,11 @@ yy4: yych = YYPEEK (); switch (yych) { case '1': - YYTAGP (yyt2); + YYSTAGP (yyt2); goto yy5; case '2': - YYTAGP (yyt2); - YYTAGP (yyt3); + YYSTAGP (yyt2); + YYSTAGP (yyt3); goto yy8; default: goto yy3; } @@ -47,7 +47,7 @@ yy5: switch (yych) { case '1': goto yy5; case '2': - YYTAGP (yyt3); + YYSTAGP (yyt3); goto yy8; default: goto yy7; } @@ -59,11 +59,11 @@ yy8: yych = YYPEEK (); switch (yych) { case '3': - YYTAGP (yyt4); + YYSTAGP (yyt4); goto yy9; case '4': - YYTAGP (yyt4); - YYTAGP (yyt5); + YYSTAGP (yyt4); + YYSTAGP (yyt5); goto yy11; default: goto yy7; } @@ -73,7 +73,7 @@ yy9: switch (yych) { case '3': goto yy9; case '4': - YYTAGP (yyt5); + YYSTAGP (yyt5); goto yy11; default: goto yy7; } diff --git a/re2c/test/tags/fix4_trail.i--tags--input(custom).re b/re2c/test/tags/fix4_trail.i--tags--input(custom).re index e2af241d..3b011cf4 100644 --- a/re2c/test/tags/fix4_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix4_trail.i--tags--input(custom).re @@ -7,11 +7,11 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix4_trail.i--tags.re b/re2c/test/tags/fix4_trail.i--tags.re index 8a4a53e3..7db16465 100644 --- a/re2c/test/tags/fix4_trail.i--tags.re +++ b/re2c/test/tags/fix4_trail.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix5.i--tags.re b/re2c/test/tags/fix5.i--tags.re index 9344278f..1e6b6130 100644 --- a/re2c/test/tags/fix5.i--tags.re +++ b/re2c/test/tags/fix5.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3, *p4; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix5_trail.i--tags--input(custom).c b/re2c/test/tags/fix5_trail.i--tags--input(custom).c index 4abc6229..3c8cbab2 100644 --- a/re2c/test/tags/fix5_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix5_trail.i--tags--input(custom).c @@ -8,8 +8,8 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,11 +19,11 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy4; case '1': - YYTAGP (yyt1); - YYTAGP (yyt5); + YYSTAGP (yyt1); + YYSTAGP (yyt5); goto yy5; default: goto yy2; } @@ -46,11 +46,11 @@ yy5: yych = YYPEEK (); switch (yych) { case '2': - YYTAGP (yyt2); + YYSTAGP (yyt2); goto yy10; case '3': - YYTAGP (yyt2); - YYTAGP (yyt3); + YYSTAGP (yyt2); + YYSTAGP (yyt3); goto yy12; default: goto yy3; } @@ -61,7 +61,7 @@ yy7: switch (yych) { case '0': goto yy6; case '1': - YYTAGP (yyt5); + YYSTAGP (yyt5); goto yy9; default: goto yy8; } @@ -73,11 +73,11 @@ yy9: yych = YYPEEK (); switch (yych) { case '2': - YYTAGP (yyt2); + YYSTAGP (yyt2); goto yy10; case '3': - YYTAGP (yyt2); - YYTAGP (yyt3); + YYSTAGP (yyt2); + YYSTAGP (yyt3); goto yy12; default: goto yy8; } @@ -87,14 +87,14 @@ yy10: switch (yych) { case '2': goto yy10; case '3': - YYTAGP (yyt3); + YYSTAGP (yyt3); goto yy12; default: goto yy8; } yy12: YYSKIP (); yych = YYPEEK (); - YYTAGP (yyt4); + YYSTAGP (yyt4); goto yy15; yy13: p0 = yyt1; diff --git a/re2c/test/tags/fix5_trail.i--tags--input(custom).re b/re2c/test/tags/fix5_trail.i--tags--input(custom).re index 6945d924..b8b87e60 100644 --- a/re2c/test/tags/fix5_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix5_trail.i--tags--input(custom).re @@ -7,11 +7,11 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYTAGP(t) t = s -#define YYTAGN(t) t = NULL +#define YYSTAGP(t) t = s +#define YYSTAGN(t) t = NULL #define YYRESTORETAG(t) s = t const char *marker, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/fix5_trail.i--tags.re b/re2c/test/tags/fix5_trail.i--tags.re index 218e7395..c080646f 100644 --- a/re2c/test/tags/fix5_trail.i--tags.re +++ b/re2c/test/tags/fix5_trail.i--tags.re @@ -4,7 +4,7 @@ static void lex(const char *YYCURSOR) { const char *YYMARKER, *p0, *p1, *p2, *p3; - /*!tags:re2c format = "const char *@@;"; */ + /*!stags:re2c format = "const char *@@;"; */ /*!re2c re2c:define:YYCTYPE = char; re2c:yyfill:enable = 0; diff --git a/re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c b/re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c index 3e064d85..68558bc5 100644 --- a/re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c +++ b/re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c @@ -2,17 +2,17 @@ { YYCTYPE yych; - YYTAGP (yyt2); + YYSTAGP (yyt2); if (YYLESSTHAN (1)) YYFILL(1); yych = YYPEEK (); YYSKIP (); switch (yych) { case 'a': - YYTAGP (yyt1); + YYSTAGP (yyt1); goto yy2; default: - YYTAGP (yyt1); - YYTAGN (yyt2); + YYSTAGP (yyt1); + YYSTAGN (yyt2); goto yy2; } yy2: @@ -21,4 +21,4 @@ yy2: {} } -re2c: warning: line 3: tag 'a' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'a' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/map_ord1.i--tags--no-lookahead.c b/re2c/test/tags/map_ord1.i--tags--no-lookahead.c index 1b23b576..86b3f8c1 100644 --- a/re2c/test/tags/map_ord1.i--tags--no-lookahead.c +++ b/re2c/test/tags/map_ord1.i--tags--no-lookahead.c @@ -48,4 +48,4 @@ yy5: } re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 4: tag 't' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/map_ord1.i--tags.c b/re2c/test/tags/map_ord1.i--tags.c index bcd17eb5..86307d47 100644 --- a/re2c/test/tags/map_ord1.i--tags.c +++ b/re2c/test/tags/map_ord1.i--tags.c @@ -42,4 +42,4 @@ yy5: } re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 4: tag 't' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/map_ord2.i--tags--no-lookahead.c b/re2c/test/tags/map_ord2.i--tags--no-lookahead.c index a2669def..8ab15f1a 100644 --- a/re2c/test/tags/map_ord2.i--tags--no-lookahead.c +++ b/re2c/test/tags/map_ord2.i--tags--no-lookahead.c @@ -95,4 +95,4 @@ yy11: } re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 4: tag 't' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/map_ord2.i--tags.c b/re2c/test/tags/map_ord2.i--tags.c index 43542802..9c16e71a 100644 --- a/re2c/test/tags/map_ord2.i--tags.c +++ b/re2c/test/tags/map_ord2.i--tags.c @@ -80,4 +80,4 @@ yy11: } re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 4: tag 't' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/skip_tags_disorder1.i--tags--no-lookahead.c b/re2c/test/tags/skip_tags_disorder1.i--tags--no-lookahead.c index b1909f08..c78e224c 100644 --- a/re2c/test/tags/skip_tags_disorder1.i--tags--no-lookahead.c +++ b/re2c/test/tags/skip_tags_disorder1.i--tags--no-lookahead.c @@ -27,4 +27,4 @@ yy3: } re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 3: tag 'a' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'a' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/skip_tags_disorder2.i--tags--no-lookahead.c b/re2c/test/tags/skip_tags_disorder2.i--tags--no-lookahead.c index 3cc902d3..574ad7ce 100644 --- a/re2c/test/tags/skip_tags_disorder2.i--tags--no-lookahead.c +++ b/re2c/test/tags/skip_tags_disorder2.i--tags--no-lookahead.c @@ -51,5 +51,5 @@ yy8: re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string] re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 3: tag 'a' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 4: tag 'b' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'a' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 4: tag 'b' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/skip_tags_disorder4.i--tags--no-lookahead.c b/re2c/test/tags/skip_tags_disorder4.i--tags--no-lookahead.c index a74db64f..ebd23fb3 100644 --- a/re2c/test/tags/skip_tags_disorder4.i--tags--no-lookahead.c +++ b/re2c/test/tags/skip_tags_disorder4.i--tags--no-lookahead.c @@ -63,4 +63,4 @@ yy12: } re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 3: tag 't' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/topsort1.i--tags.c b/re2c/test/tags/topsort1.i--tags.c index 68607f3a..eb254ad1 100644 --- a/re2c/test/tags/topsort1.i--tags.c +++ b/re2c/test/tags/topsort1.i--tags.c @@ -60,4 +60,4 @@ yy9: } re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 3: tag 'p' is non-deterministic and induces 5 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'p' has 5th degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/topsort2.i--tags.c b/re2c/test/tags/topsort2.i--tags.c index 817f7c1c..4986ed81 100644 --- a/re2c/test/tags/topsort2.i--tags.c +++ b/re2c/test/tags/topsort2.i--tags.c @@ -53,5 +53,5 @@ yy8: } re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 3: tag 'p' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 3: tag 'q' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'q' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/topsort3.i--tags--no-lookahead.c b/re2c/test/tags/topsort3.i--tags--no-lookahead.c index 74f0f344..d15beb0a 100644 --- a/re2c/test/tags/topsort3.i--tags--no-lookahead.c +++ b/re2c/test/tags/topsort3.i--tags--no-lookahead.c @@ -68,4 +68,4 @@ yy10: } re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 3: tag 'c' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 3: tag 'c' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/twopass.i--tags.c b/re2c/test/tags/twopass.i--tags.c index 38593335..609c5a98 100644 --- a/re2c/test/tags/twopass.i--tags.c +++ b/re2c/test/tags/twopass.i--tags.c @@ -203,8 +203,8 @@ yy21: } re2c: warning: line 7: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 6: tag 'p' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 6: tag 'q' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 6: tag 'y' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 7: tag 'r' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 7: tag 's' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 6: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 6: tag 'q' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 6: tag 'y' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 7: tag 'r' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 7: tag 's' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/uniq.i--tags.c b/re2c/test/tags/uniq.i--tags.c index f209235d..93d0e532 100644 --- a/re2c/test/tags/uniq.i--tags.c +++ b/re2c/test/tags/uniq.i--tags.c @@ -48,9 +48,9 @@ yy6: } re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string] -re2c: warning: line 5: tag 'u' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 5: tag 'v' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 5: tag 'w' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 5: tag 'x' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 5: tag 'y' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] -re2c: warning: line 5: tag 'z' is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags] +re2c: warning: line 5: tag 'u' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 5: tag 'v' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 5: tag 'w' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 5: tag 'x' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 5: tag 'y' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 5: tag 'z' has 2nd degree of nondeterminism [-Wnondeterministic-tags] -- 2.40.0