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;
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)
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;
}
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;
(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)
{
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;
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)
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;
}
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;
(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)
{
char *cur;
char *mar;
char *tok;
- /*!tags:re2c format = "char *@@;\n"; */
+ /*!stags:re2c format = "char *@@;\n"; */
int eof;
} input_t;
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;
}
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;
char *cur;
char *mar;
char *tok;
- /*!tags:re2c format = "char *@@;\n"; */
+ /*!stags:re2c format = "char *@@;\n"; */
int eof;
} input_t;
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;
}
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;
-/* 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 <stddef.h>
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;
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;
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"
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;
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;
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"
{
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"
{
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"
{
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"
{
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"
{
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"
{
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[] = {
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"
}
tchar = cur - pos;
tok = cur;
-#line 896 "src/ast/lex.cc"
+#line 898 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
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;
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"
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"
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 ":=" */
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"
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"
{
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"
{
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"
{
yylval.bounds.max = std::numeric_limits<uint32_t>::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"
{
}
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"
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;
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"
{
}
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)
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"
{
}
goto code;
}
-#line 1714 "src/ast/lex.cc"
-yy277:
+#line 1716 "src/ast/lex.cc"
+yy278:
++YYCURSOR;
#line 351 "../src/ast/lex.re"
{
}
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"
{
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"
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[] = {
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)
}
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)
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"
{
goto comment;
}
}
-#line 2042 "src/ast/lex.cc"
-yy327:
+#line 2044 "src/ast/lex.cc"
+yy328:
++YYCURSOR;
#line 441 "../src/ast/lex.re"
{
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"
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) {
}
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) {
cline++;
goto scan;
}
-#line 2167 "src/ast/lex.cc"
+#line 2169 "src/ast/lex.cc"
}
#line 482 "../src/ast/lex.re"
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"
}
goto add;
}
-#line 2241 "src/ast/lex.cc"
+#line 2243 "src/ast/lex.cc"
}
#line 521 "../src/ast/lex.re"
{
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<uint8_t>(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<uint8_t>(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<uint8_t>('-'); }
-#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<uint8_t>('\\'); }
-#line 2379 "src/ast/lex.cc"
-yy384:
+#line 2381 "src/ast/lex.cc"
+yy385:
++YYCURSOR;
#line 548 "../src/ast/lex.re"
{ return static_cast<uint8_t>(']'); }
-#line 2384 "src/ast/lex.cc"
-yy386:
+#line 2386 "src/ast/lex.cc"
+yy387:
++YYCURSOR;
#line 539 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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"
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<uint8_t>(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"
{
}
return static_cast<uint8_t>(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<uint8_t>('\\'); }
-#line 2668 "src/ast/lex.cc"
-yy432:
+#line 2670 "src/ast/lex.cc"
+yy433:
++YYCURSOR;
#line 572 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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<uint8_t>('\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"
sourceline:
tok = cur;
-#line 2841 "src/ast/lex.cc"
+#line 2843 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
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"
{
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"
{
}
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"
-/* 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 <string>
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;
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;
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;
}
#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) {
if (yyaccept == 0) {
goto yy175;
} else {
- goto yy257;
+ goto yy256;
}
} else {
goto yy326;
} 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;
}
#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;
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;
opts.set_topIndent (static_cast<uint32_t> (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) {
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;
}
#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;
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;
}
#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);
}
} 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;
}
}
}
#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;
}
#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;
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 <= '?') {
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;
opts.set_cGotoThreshold (static_cast<uint32_t> (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 <= '/') {
}
} 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 <= '?') {
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;
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 <= '?') {
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"
{
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"
{
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"
{
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"
{
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"
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[] = {
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"
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[] = {
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"
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[] = {
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;
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"
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[] = {
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"
{
}
}
}
-#line 4044 "src/ast/lex_conf.cc"
+#line 4040 "src/ast/lex_conf.cc"
}
#line 295 "../src/ast/lex_conf.re"
, charset(dfa.charset)
, rules(dfa.rules)
, tags(dfa.tags)
- , listvers(dfa.listvers)
+ , mtagvers(dfa.mtagvers)
, finvers(dfa.finvers)
, tcpool(dfa.tcpool)
, max_fill (0)
delete &charset;
delete &rules;
delete &tags;
- delete &listvers;
+ delete &mtagvers;
delete[] finvers;
delete &tcpool;
}
std::vector<uint32_t> &charset;
std::valarray<Rule> &rules;
std::vector<Tag> &tags;
- std::set<tagver_t> &listvers;
+ std::set<tagver_t> &mtagvers;
const tagver_t *finvers;
tcpool_t &tcpool;
size_t max_fill;
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);
}
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;
*/}
}
-void Scanner::lex_tags(OutputFile &out, bool lists)
+void Scanner::lex_tags(OutputFile &out, bool mtags)
{
std::string fmt, sep;
for (;;) {/*!re2c
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;
}
"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; }
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);
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());
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
OutputBlock &ob = o.block();
const opt_t *opts = ob.opts;
- std::set<std::string> tagnames, tagvars, taglistnames, taglistvars;
+ std::set<std::string> 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);
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);
OutputFragment::~OutputFragment()
{
- if (type == TAGS || type == TAGLISTS) {
- delete tags;
- }
+ if (type == STAGS || type == MTAGS) delete tags;
}
uint32_t OutputFragment::count_lines ()
, used_yyaccept (false)
, line (0)
, types ()
- , tags ()
- , taglists ()
+ , stags ()
+ , mtags ()
, opts(NULL)
{
fragments.push_back (new OutputFragment (OutputFragment::CODE, 0));
}
}
-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);
}
}
void OutputFile::global_lists(uniq_vector_t<std::string> &types,
- std::set<std::string> &tags, std::set<std::string> &taglists) const
+ std::set<std::string> &stags, std::set<std::string> &mtags) const
{
for (unsigned int i = 0; i < blocks.size(); ++i) {
-
const std::vector<std::string> &cs = blocks[i]->types;
for (size_t j = 0; j < cs.size(); ++j) {
types.find_or_add(cs[j]);
}
- const std::set<std::string> &ts = blocks[i]->tags;
- tags.insert(ts.begin(), ts.end());
-
- const std::set<std::string> &tls = blocks[i]->taglists;
- taglists.insert(tls.begin(), tls.end());
+ const std::set<std::string>
+ &st = blocks[i]->stags,
+ &mt = blocks[i]->mtags;
+ stags.insert(st.begin(), st.end());
+ mtags.insert(mt.begin(), mt.end());
}
}
}
bool OutputFile::emit(const uniq_vector_t<std::string> &global_types,
- const std::set<std::string> &global_tags,
- const std::set<std::string> &global_taglists,
+ const std::set<std::string> &global_stags,
+ const std::set<std::string> &global_mtags,
size_t max_fill)
{
FILE *file = NULL;
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);
}
uniq_vector_t<std::string> types;
- std::set<std::string> tags, taglists;
- source.global_lists(types, tags, taglists);
+ std::set<std::string> 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);
}
, COND_TABLE
, LINE_INFO
, STATE_GOTO
- , TAGS
- , TAGLISTS
+ , STAGS
+ , MTAGS
, TYPES
, YYACCEPT_INIT
, YYMAXFILL
bool used_yyaccept;
uint32_t line;
std::vector<std::string> types;
- std::set<std::string> tags;
- std::set<std::string> taglists;
+ std::set<std::string> stags;
+ std::set<std::string> mtags;
const opt_t *opts;
OutputBlock ();
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);
OutputFile& wdelay_backup(uint32_t ind, bool backup);
void global_lists(uniq_vector_t<std::string> &types,
- std::set<std::string> &tags, std::set<std::string> &taglists) const;
+ std::set<std::string> &stags, std::set<std::string> &mtags) const;
bool emit(const uniq_vector_t<std::string> &global_types,
- const std::set<std::string> &global_tags,
- const std::set<std::string> &global_taglists, size_t max_fill);
+ const std::set<std::string> &global_stags,
+ const std::set<std::string> &global_mtags, size_t max_fill);
FORBID_COPY (OutputFile);
};
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;
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)
{
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);
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 */ \
fprintf(stderr, "tag '%s'", tagname->c_str());
}
fprintf(stderr,
- " %sis non-deterministic and induces %u parallel instances",
- incond(cond).c_str(), static_cast<uint32_t>(nver));
+ " %shas %u%s degree of nondeterminism",
+ incond(cond).c_str(), static_cast<uint32_t>(nver),
+ nver == 2 ? "nd" : nver == 3 ? "rd" : "th");
warning_end(names[NONDETERMINISTIC_TAGS], e);
}
}
}
// versions of tags with/without history interfere
- std::set<tagver_t> &lvs = cfg.dfa.listvers;
- for (std::set<tagver_t>::iterator i = lvs.begin(); i != lvs.end(); ++i) {
+ std::set<tagver_t> &mt = cfg.dfa.mtagvers;
+ for (std::set<tagver_t>::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;
}
}
}
// versions of tags with history
- std::set<tagver_t> newlvs, &oldlvs = cfg.dfa.listvers;
- for (std::set<tagver_t>::iterator i = oldlvs.begin(); i != oldlvs.end(); ++i) {
- newlvs.insert(ver2new[*i]);
+ std::set<tagver_t> newmt, &oldmt = cfg.dfa.mtagvers;
+ for (std::set<tagver_t>::iterator i = oldmt.begin(); i != oldmt.end(); ++i) {
+ newmt.insert(ver2new[*i]);
}
- oldlvs.swap(newlvs);
+ oldmt.swap(newmt);
}
} // namespace re2c
, charset(nfa.charset)
, rules(nfa.rules)
, tags(nfa.tags)
- , listvers(*new std::set<tagver_t>)
+ , mtagvers(*new std::set<tagver_t>)
, finvers(NULL)
, tcpool(*new tcpool_t)
, maxtagver(0)
for (size_t i = 0; i < ntag; ++i) {
if (history(tags[i])) {
tagver_t v = static_cast<tagver_t>(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);
}
}
}
// 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));
}
}
std::vector<uint32_t> &charset;
std::valarray<Rule> &rules;
std::vector<Tag> &tags;
- std::set<tagver_t> &listvers;
+ std::set<tagver_t> &mtagvers;
tagver_t *finvers;
tcpool_t &tcpool;
tagver_t maxtagver;
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<std::string> &tagnames, const std::set<std::string> &tagvars,
- const std::set<std::string> &taglistnames, const std::set<std::string> &taglistvars,
+ const std::set<std::string> &stagnames, const std::set<std::string> &stagvars,
+ const std::set<std::string> &mtagnames, const std::set<std::string> &mtagvars,
bitmaps_t &bitmaps)
{
const opt_t *opts = o.block().opts;
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; }");
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{");
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;");
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")
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);");
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");
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<std::string>::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) {
}
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);
}
}
void emit_end(OutputFile &o, const std::string &name, bool backup, bool oldstyle_ctxmarker,
- const std::set<std::string> &taglistnames)
+ const std::set<std::string> &mtagnames)
{
o.ws("\n").wind(1).ws("}");
o.ws("\n").wind(1).ws("if (status == 0) {");
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;");
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("\")");
}
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<std::string> &tagnames, const std::set<std::string> &tagvars,
- const std::set<std::string> &taglistnames, const std::set<std::string> &taglistvars,
+ const std::set<std::string> &stagnames, const std::set<std::string> &stagvars,
+ const std::set<std::string> &mtagnames, const std::set<std::string> &mtagvars,
bitmaps_t &bitmaps);
void emit_end(OutputFile &o, const std::string &name, bool backup, bool oldstyle_ctxmarker,
- const std::set<std::string> &taglistnames);
+ const std::set<std::string> &mtagnames);
void emit_epilog(OutputFile &o, const std::set<std::string> &names);
void emit_action(OutputFile &o, uint32_t ind, const DFA &dfa, size_t rid);
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;
{ @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]
yych = YYPEEK ();
switch (yych) {
case 'a':
- YYTAGP (yyt1);
+ YYSTAGP (yyt1);
goto yy29;
default: goto yy27;
}
yych = YYPEEK ();
switch (yych) {
case 'a':
- YYTAGP (yyt1);
+ YYSTAGP (yyt1);
goto yy29;
default: goto 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]
}
}
-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]
-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
yych = YYPEEK ();
switch (yych) {
case 'b':
- YYTAGP (yyt2);
+ YYSTAGP (yyt2);
goto yy5;
default: goto yy3;
}
yych = YYPEEK ();
switch (yych) {
case 'b':
- YYTAGP (yyt1);
+ YYSTAGP (yyt1);
goto yy9;
default: goto yy8;
}
-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
{ d }
yy4:
yych = YYPEEK ();
- YYTAGP (yyt2);
+ YYSTAGP (yyt2);
switch (yych) {
case 'b':
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'c':
- YYTAGP (yyt1);
+ YYSTAGP (yyt1);
YYSKIP ();
goto yy9;
default: goto yy8;
yy4:
YYSKIP ();
yych = YYPEEK ();
- YYTAGP (yyt2);
+ YYSTAGP (yyt2);
switch (yych) {
case 'b': goto yy6;
default: goto yy5;
yych = YYPEEK ();
switch (yych) {
case 'c':
- YYTAGP (yyt1);
+ YYSTAGP (yyt1);
goto yy9;
default: goto yy8;
}
-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
#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;
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_";
*/
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;
#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:
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt1);
+ YYSTAGP (in.yyt1);
goto yy7;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt1);
+ YYSTAGP (in.yyt1);
goto yy7;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt2);
+ YYSTAGP (in.yyt2);
goto yy12;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt1);
+ YYSTAGP (in.yyt1);
goto yy7;
default: goto yy8;
}
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt2);
+ YYSTAGP (in.yyt2);
goto yy12;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt3);
+ YYSTAGP (in.yyt3);
goto yy16;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt2);
+ YYSTAGP (in.yyt2);
goto yy12;
default: goto yy8;
}
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt3);
+ YYSTAGP (in.yyt3);
goto yy16;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (in.yyt3);
+ YYSTAGP (in.yyt3);
goto yy16;
default: goto yy8;
}
char *cur;
char *mar;
char *tok;
- /*!tags:re2c format = "char *@@;"; */
+ /*!stags:re2c format = "char *@@;"; */
bool eof;
input_t()
, cur(lim)
, mar(lim)
, tok(lim)
- /*!tags:re2c format = ", @@(0)"; */
+ /*!stags:re2c format = ", @@(0)"; */
, eof(false)
{}
bool fill(size_t need)
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;
#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:
char *cur;
char *mar;
char *tok;
- /*!tags:re2c format = "char *@@;"; */
+ /*!stags:re2c format = "char *@@;"; */
bool eof;
input_t()
, cur(lim)
, mar(lim)
, tok(lim)
- /*!tags:re2c format = ", @@(0)"; */
+ /*!stags:re2c format = ", @@(0)"; */
, eof(false)
{}
bool fill(size_t need)
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;
#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;
case '7':
case '8':
case '9':
- YYTAGP (tags.yyt1);
+ YYSTAGP (tags.yyt1);
goto yy4;
default: goto yy2;
}
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt2);
+ YYSTAGP (tags.yyt2);
goto yy5;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt2);
+ YYSTAGP (tags.yyt2);
goto yy5;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt3);
+ YYSTAGP (tags.yyt3);
goto yy10;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt2);
+ YYSTAGP (tags.yyt2);
goto yy5;
default: goto yy6;
}
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt3);
+ YYSTAGP (tags.yyt3);
goto yy10;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt4);
+ YYSTAGP (tags.yyt4);
goto yy14;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt3);
+ YYSTAGP (tags.yyt3);
goto yy10;
default: goto yy6;
}
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt4);
+ YYSTAGP (tags.yyt4);
goto yy14;
case '0':
case '1':
yych = YYPEEK ();
switch (yych) {
case '.':
- YYTAGP (tags.yyt4);
+ YYSTAGP (tags.yyt4);
goto yy14;
default: goto yy6;
}
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 = ","; */);
};
#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;
*/
}
-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)
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 = ","; */);
};
*/
}
-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)
// 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 }
// 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 }
}
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]
{}
}
-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]
// 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
-/*!tags:re2c format = "@@\n"; */
+/*!stags:re2c format = "@@\n"; */
/*!re2c
(@p "ab" | "c" "d")* { p }
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;
#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;
yych = YYPEEK ();
switch (yych) {
case '0':
- YYTAGP (yyt1);
+ YYSTAGP (yyt1);
goto yy4;
default: goto yy2;
}
yych = YYPEEK ();
switch (yych) {
case '1':
- YYTAGP (yyt2);
+ YYSTAGP (yyt2);
goto yy5;
default: goto yy3;
}
yych = YYPEEK ();
switch (yych) {
case '2':
- YYTAGP (yyt3);
+ YYSTAGP (yyt3);
goto yy8;
default: goto yy6;
}
yych = YYPEEK ();
switch (yych) {
case '3':
- YYTAGP (yyt4);
+ YYSTAGP (yyt4);
goto yy11;
default: goto yy6;
}
yych = YYPEEK ();
switch (yych) {
case '4':
- YYTAGP (yyt5);
+ YYSTAGP (yyt5);
goto yy15;
default: goto yy6;
}
#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;
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;
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;
#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;
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;
}
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:
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:
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:
switch (yych) {
case '3': goto yy11;
case '4':
- YYTAGP (yyt5);
+ YYSTAGP (yyt5);
goto yy13;
default:
- YYTAGP (yyt5);
+ YYSTAGP (yyt5);
goto yy6;
}
yy13:
#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;
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;
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;
#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;
yych = YYPEEK ();
switch (yych) {
case '0':
- YYTAGP (yyt1);
+ YYSTAGP (yyt1);
goto yy4;
default: goto yy2;
}
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;
}
switch (yych) {
case '1': goto yy5;
case '2':
- YYTAGP (yyt3);
+ YYSTAGP (yyt3);
goto yy8;
default: goto yy7;
}
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;
}
switch (yych) {
case '3': goto yy9;
case '4':
- YYTAGP (yyt5);
+ YYSTAGP (yyt5);
goto yy11;
default: goto yy7;
}
#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;
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;
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;
#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;
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;
}
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;
}
switch (yych) {
case '0': goto yy6;
case '1':
- YYTAGP (yyt5);
+ YYSTAGP (yyt5);
goto yy9;
default: goto yy8;
}
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;
}
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;
#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;
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;
{
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:
{}
}
-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]
}
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]
}
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]
}
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]
}
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]
}
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]
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]
}
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]
}
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]
}
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]
}
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]
}
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]
}
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]