-/* Generated by re2c 0.16 on Fri Apr 1 16:33:55 2016 */
+/* Generated by re2c 0.16 on Sat Apr 2 11:23:34 2016 */
#line 1 "../src/parse/lex.re"
#include "src/util/c99_stdint.h"
#include <stddef.h>
#line 41 "../src/parse/lex.re"
-#line 61 "../src/parse/lex.re"
+#line 62 "../src/parse/lex.re"
Scanner::ParseMode Scanner::echo()
{
- bool ignore_eoc = false;
- int ignore_cnt = 0;
+ uint32_t ignored = 0;
if (eof && cur == eof) // Catch EOF
{
tok = cur;
echo:
-#line 61 "src/parse/lex.cc"
+#line 60 "src/parse/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
};
if ((YYLIMIT - YYCURSOR) < 16) YYFILL(16);
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '%') {
- if (yych <= '\t') {
- if (yych >= 0x01) goto yy4;
+ if (yych <= '$') {
+ if (yych <= '\n') {
+ if (yych <= 0x00) goto yy2;
+ if (yych <= '\t') goto yy4;
+ goto yy6;
} else {
- if (yych <= '\n') goto yy6;
- if (yych <= '$') goto yy4;
- goto yy8;
+ if (yych == '\r') goto yy8;
+ goto yy4;
}
} else {
if (yych <= '*') {
+ if (yych <= '%') goto yy9;
if (yych <= ')') goto yy4;
- goto yy9;
+ goto yy10;
} else {
- if (yych == '/') goto yy10;
+ if (yych == '/') goto yy11;
goto yy4;
}
}
+yy2:
++YYCURSOR;
-#line 218 "../src/parse/lex.re"
+#line 180 "../src/parse/lex.re"
{
- if (!ignore_eoc && opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len () - 1);
- // -1 so we don't write out the \0
- }
- if(cur == eof)
- {
- return Stop;
- }
- }
+ if (opts->target == opt_t::CODE) {
+ out.wraw(tok, tok_len () - 1);
+ // -1 so we don't write out the \0
+ }
+ if (cur == eof) {
+ return Stop;
+ }
+ }
#line 131 "src/parse/lex.cc"
yy4:
++YYCURSOR;
yy5:
-#line 229 "../src/parse/lex.re"
- {
- goto echo;
- }
-#line 139 "src/parse/lex.cc"
+#line 190 "../src/parse/lex.re"
+ { goto echo; }
+#line 137 "src/parse/lex.cc"
yy6:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy11;
+ goto yy12;
}
- if (yych == '#') goto yy14;
+ if (yych == '#') goto yy15;
yy7:
-#line 205 "../src/parse/lex.re"
+#line 171 "../src/parse/lex.re"
{
- if (ignore_eoc)
- {
- ignore_cnt++;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- cline++;
- goto echo;
- }
-#line 162 "src/parse/lex.cc"
+ if (opts->target == opt_t::CODE) {
+ out.wraw(tok, tok_len ());
+ }
+ cline++;
+ tok = pos = cur;
+ goto echo;
+ }
+#line 155 "src/parse/lex.cc"
yy8:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '{') goto yy16;
+ if (yych == '\n') goto yy6;
goto yy5;
yy9:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '/') goto yy18;
+ if (yych == '{') goto yy17;
goto yy5;
yy10:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '/') goto yy19;
+ goto yy5;
+yy11:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy20;
+ if (yych == '*') goto yy21;
goto yy5;
-yy11:
+yy12:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy11;
+ goto yy12;
}
- if (yych == '#') goto yy14;
-yy13:
+ if (yych == '#') goto yy15;
+yy14:
YYCURSOR = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy7;
- } else {
- goto yy5;
- }
+ if (yyaccept == 0) {
+ goto yy7;
} else {
- goto yy19;
+ goto yy5;
}
-yy14:
+yy15:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy14;
- goto yy13;
+ if (yych == '\t') goto yy15;
+ goto yy14;
} else {
- if (yych <= ' ') goto yy14;
- if (yych == 'l') goto yy21;
- goto yy13;
+ if (yych <= ' ') goto yy15;
+ if (yych == 'l') goto yy22;
+ goto yy14;
}
-yy16:
+yy17:
++YYCURSOR;
#line 77 "../src/parse/lex.re"
{
tok = cur;
return Parse;
}
-#line 225 "src/parse/lex.cc"
-yy18:
- yyaccept = 2;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy22;
- if (yych == '\r') goto yy24;
+#line 218 "src/parse/lex.cc"
yy19:
-#line 184 "../src/parse/lex.re"
+ ++YYCURSOR;
+#line 158 "../src/parse/lex.re"
{
- if (ignore_eoc)
- {
- if (ignore_cnt)
- {
- out.ws("\n").wline_info (cline, get_fname ().c_str ());
- }
- ignore_eoc = false;
- ignore_cnt = 0;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- goto echo;
- }
-#line 250 "src/parse/lex.cc"
-yy20:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '!') goto yy25;
- goto yy13;
+ if (opts->target == opt_t::CODE) {
+ out.wraw(tok, tok_len ());
+ }
+ tok = pos = cur;
+ goto echo;
+ }
+#line 229 "src/parse/lex.cc"
yy21:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy26;
- goto yy13;
+ if (yych == '!') goto yy23;
+ goto yy14;
yy22:
- ++YYCURSOR;
-#line 166 "../src/parse/lex.re"
- {
- cline++;
- if (ignore_eoc)
- {
- if (ignore_cnt)
- {
- out.wline_info (cline, get_fname ().c_str ());
- }
- ignore_eoc = false;
- ignore_cnt = 0;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- goto echo;
- }
-#line 280 "src/parse/lex.cc"
-yy24:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy22;
- goto yy13;
-yy25:
+ if (yych == 'i') goto yy24;
+ goto yy14;
+yy23:
yych = (YYCTYPE)*++YYCURSOR;
switch (yych) {
- case 'c': goto yy27;
- case 'g': goto yy28;
- case 'i': goto yy29;
- case 'm': goto yy30;
- case 'r': goto yy31;
- case 't': goto yy32;
- case 'u': goto yy33;
- default: goto yy13;
+ case 'c': goto yy25;
+ case 'g': goto yy26;
+ case 'i': goto yy27;
+ case 'm': goto yy28;
+ case 'r': goto yy29;
+ case 't': goto yy30;
+ case 'u': goto yy31;
+ default: goto yy14;
}
+yy24:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy32;
+ goto yy14;
+yy25:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy33;
+ goto yy14;
yy26:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy34;
- goto yy13;
+ if (yych == 'e') goto yy34;
+ goto yy14;
yy27:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy35;
- goto yy13;
+ if (yych == 'g') goto yy35;
+ goto yy14;
yy28:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy36;
- goto yy13;
+ if (yych == 'a') goto yy36;
+ goto yy14;
yy29:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy37;
- goto yy13;
+ if (yych == 'e') goto yy37;
+ if (yych == 'u') goto yy38;
+ goto yy14;
yy30:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy38;
- goto yy13;
+ if (yych == 'y') goto yy39;
+ goto yy14;
yy31:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy39;
- if (yych == 'u') goto yy40;
- goto yy13;
+ if (yych == 's') goto yy40;
+ goto yy14;
yy32:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy41;
- goto yy13;
+ if (yych == 'e') goto yy41;
+ goto yy14;
yy33:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy42;
- goto yy13;
+ if (yych == 'n') goto yy42;
+ goto yy14;
yy34:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy43;
- goto yy13;
+ if (yych == 't') goto yy43;
+ goto yy14;
yy35:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'n') goto yy44;
- goto yy13;
+ goto yy14;
yy36:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy45;
- goto yy13;
+ if (yych == 'x') goto yy45;
+ goto yy14;
yy37:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy46;
- goto yy13;
+ if (yych == '2') goto yy46;
+ goto yy14;
yy38:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'x') goto yy47;
- goto yy13;
+ if (yych == 'l') goto yy47;
+ goto yy14;
yy39:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy48;
- goto yy13;
+ if (yych == 'p') goto yy48;
+ goto yy14;
yy40:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy49;
- goto yy13;
+ if (yych == 'e') goto yy49;
+ goto yy14;
yy41:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy50;
- goto yy13;
+ if (yych <= '0') goto yy51;
+ if (yych <= '9') goto yy14;
+ goto yy51;
yy42:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy51;
- goto yy13;
+ if (yych == 't') goto yy52;
+ goto yy14;
yy43:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy53;
- if (yych <= '9') goto yy13;
- goto yy53;
+ if (yych == 's') goto yy53;
+ goto yy14;
yy44:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy54;
- goto yy13;
+ if (yych == 'o') goto yy54;
+ goto yy14;
yy45:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy55;
- goto yy13;
+ if (yych == ':') goto yy55;
+ goto yy14;
yy46:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy56;
- goto yy13;
+ if (yych == 'c') goto yy17;
+ goto yy14;
yy47:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy57;
- goto yy13;
+ if (yych == 'e') goto yy56;
+ goto yy14;
yy48:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy16;
- goto yy13;
+ if (yych == 'e') goto yy57;
+ goto yy14;
yy49:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy58;
- goto yy13;
+ if (yych == ':') goto yy58;
+ goto yy14;
yy50:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy59;
- goto yy13;
-yy51:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy60;
- goto yy13;
-yy52:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
YYCTXMARKER = YYCURSOR;
-yy53:
+yy51:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy52;
- goto yy13;
+ if (yych == '\t') goto yy50;
+ goto yy14;
} else {
- if (yych <= ' ') goto yy52;
- if (yych <= '0') goto yy13;
- if (yych <= '9') goto yy61;
- goto yy13;
+ if (yych <= ' ') goto yy50;
+ if (yych <= '0') goto yy14;
+ if (yych <= '9') goto yy59;
+ goto yy14;
}
+yy52:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy61;
+ goto yy14;
+yy53:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy62;
+ goto yy14;
yy54:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy63;
- goto yy13;
+ if (yych == 'r') goto yy63;
+ goto yy14;
yy55:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy64;
- goto yy13;
+ if (yych == 'r') goto yy64;
+ goto yy14;
yy56:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy65;
- goto yy13;
+ if (yych == 's') goto yy65;
+ goto yy14;
yy57:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy66;
- goto yy13;
+ if (yych == 's') goto yy66;
+ goto yy14;
yy58:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy67;
- goto yy13;
+ if (yych == 'r') goto yy67;
+ goto yy14;
yy59:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy68;
- goto yy13;
-yy60:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy69;
- goto yy13;
-yy61:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy61;
+ goto yy59;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy13;
- if (yych <= '\t') goto yy70;
- if (yych <= '\n') goto yy72;
- goto yy13;
+ if (yych <= 0x08) goto yy14;
+ if (yych <= '\t') goto yy68;
+ if (yych <= '\n') goto yy70;
+ goto yy14;
} else {
- if (yych <= '\r') goto yy74;
- if (yych == ' ') goto yy70;
- goto yy13;
+ if (yych <= '\r') goto yy72;
+ if (yych == ' ') goto yy68;
+ goto yy14;
}
+yy61:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'x') goto yy73;
+ goto yy14;
+yy62:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy74;
+ goto yy14;
yy63:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'x') goto yy75;
- goto yy13;
+ if (yych == 'e') goto yy75;
+ goto yy14;
yy64:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy76;
- goto yy13;
+ if (yych == 'e') goto yy76;
+ goto yy14;
yy65:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy77;
- goto yy13;
+ if (yych == ':') goto yy77;
+ goto yy14;
yy66:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy78;
- goto yy13;
+ if (yych == ':') goto yy78;
+ goto yy14;
yy67:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy79;
- goto yy13;
+ if (yych == 'e') goto yy79;
+ goto yy14;
yy68:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy80;
- goto yy13;
-yy69:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy81;
- goto yy13;
-yy70:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy70;
- goto yy13;
+ if (yych == '\t') goto yy68;
+ goto yy14;
} else {
- if (yych <= ' ') goto yy70;
- if (yych == '"') goto yy82;
- goto yy13;
+ if (yych <= ' ') goto yy68;
+ if (yych == '"') goto yy80;
+ goto yy14;
}
-yy72:
+yy70:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 201 "../src/parse/lex.re"
+#line 166 "../src/parse/lex.re"
{
- set_sourceline ();
- goto echo;
- }
-#line 511 "src/parse/lex.cc"
+ set_sourceline();
+ goto echo;
+ }
+#line 464 "src/parse/lex.cc"
+yy72:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy70;
+ goto yy14;
+yy73:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy82;
+ goto yy14;
yy74:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy72;
- goto yy13;
+ if (yych == 't') goto yy83;
+ goto yy14;
yy75:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy84;
- goto yy13;
+ if (yych == ':') goto yy84;
+ goto yy14;
yy76:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy85;
- goto yy13;
+ if (yych == '2') goto yy85;
+ goto yy14;
yy77:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy86;
- goto yy13;
+ if (yych == 'r') goto yy86;
+ goto yy14;
yy78:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy87;
- goto yy13;
+ if (yych == 'r') goto yy87;
+ goto yy14;
yy79:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy88;
- goto yy13;
+ if (yych == '2') goto yy88;
+ goto yy14;
yy80:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy89;
- goto yy13;
-yy81:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy90;
- goto yy13;
-yy82:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy82;
+ goto yy80;
}
- if (yych <= '\n') goto yy13;
- if (yych <= '"') goto yy91;
- goto yy92;
+ if (yych <= '\n') goto yy14;
+ if (yych <= '"') goto yy89;
+ goto yy90;
+yy82:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy91;
+ goto yy14;
+yy83:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy92;
+ goto yy14;
yy84:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy93;
- goto yy13;
+ if (yych == 'r') goto yy93;
+ goto yy14;
yy85:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy94;
- goto yy13;
+ if (yych == 'c') goto yy94;
+ goto yy14;
yy86:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy95;
- goto yy13;
+ if (yych == 'e') goto yy96;
+ goto yy14;
yy87:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy96;
- goto yy13;
+ if (yych == 'e') goto yy97;
+ goto yy14;
yy88:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy98;
- goto yy13;
+ if (yych == 'c') goto yy98;
+ goto yy14;
yy89:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy99;
- goto yy13;
+ if (yych == '\n') goto yy70;
+ if (yych == '\r') goto yy72;
+ goto yy14;
yy90:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy100;
- goto yy13;
-yy91:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy72;
- if (yych == '\r') goto yy74;
- goto yy13;
-yy92:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy13;
- goto yy82;
-yy93:
+ if (yych == '\n') goto yy14;
+ goto yy80;
+yy91:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy102;
- goto yy13;
-yy94:
+ if (yych == ':') goto yy100;
+ goto yy14;
+yy92:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy103;
- goto yy13;
-yy95:
+ if (yych == ':') goto yy101;
+ goto yy14;
+yy93:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy104;
- goto yy13;
-yy96:
+ if (yych == 'e') goto yy102;
+ goto yy14;
+yy94:
++YYCURSOR;
-#line 118 "../src/parse/lex.re"
+#line 121 "../src/parse/lex.re"
{
- if (opts->target != opt_t::DOT)
- {
- out.wdelay_yymaxfill ();
- }
- tok = pos = cur;
- ignore_eoc = true;
- goto echo;
- }
-#line 617 "src/parse/lex.cc"
-yy98:
+ if (opts->target == opt_t::CODE) {
+ out.wdelay_yymaxfill();
+ }
+ goto eoc;
+ }
+#line 567 "src/parse/lex.cc"
+yy96:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy105;
- goto yy13;
-yy99:
+ if (yych == '2') goto yy103;
+ goto yy14;
+yy97:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy106;
- goto yy13;
-yy100:
+ if (yych == '2') goto yy104;
+ goto yy14;
+yy98:
++YYCURSOR;
#line 104 "../src/parse/lex.re"
{
tok = cur;
return Reuse;
}
-#line 643 "src/parse/lex.cc"
+#line 593 "src/parse/lex.cc"
+yy100:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy105;
+ goto yy14;
+yy101:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy106;
+ goto yy14;
yy102:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy107;
- goto yy13;
+ if (yych == '2') goto yy107;
+ goto yy14;
yy103:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy108;
- goto yy13;
+ if (yych == 'c') goto yy108;
+ goto yy14;
yy104:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy109;
- goto yy13;
+ if (yych == 'c') goto yy110;
+ goto yy14;
yy105:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy110;
- goto yy13;
+ if (yych == 'e') goto yy112;
+ goto yy14;
yy106:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy112;
- goto yy13;
+ if (yych == 'e') goto yy113;
+ goto yy14;
yy107:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy114;
- goto yy13;
+ if (yych == 'c') goto yy114;
+ goto yy14;
yy108:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy115;
- goto yy13;
-yy109:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy116;
- goto yy13;
-yy110:
++YYCURSOR;
#line 92 "../src/parse/lex.re"
{
tok = cur;
return Rules;
}
-#line 691 "src/parse/lex.cc"
-yy112:
+#line 641 "src/parse/lex.cc"
+yy110:
++YYCURSOR;
-#line 138 "../src/parse/lex.re"
+#line 135 "../src/parse/lex.re"
{
- tok = pos = cur;
- ignore_eoc = true;
- if (opts->target != opt_t::DOT)
- {
- out.wdelay_line_info ().ws("\n")
- .wdelay_types ().ws("\n")
- .wline_info (cline, get_fname ().c_str ());
- }
- goto echo;
- }
-#line 706 "src/parse/lex.cc"
-yy114:
+ if (opts->target == opt_t::CODE) {
+ out.wdelay_line_info().ws("\n")
+ .wdelay_types().ws("\n")
+ .wline_info(cline, get_fname().c_str());
+ }
+ goto eoc;
+ }
+#line 653 "src/parse/lex.cc"
+yy112:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy118;
- goto yy13;
-yy115:
+ if (yych == '2') goto yy116;
+ goto yy14;
+yy113:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy119;
- goto yy13;
-yy116:
+ if (yych == '2') goto yy117;
+ goto yy14;
+yy114:
++YYCURSOR;
-#line 133 "../src/parse/lex.re"
- {
- tok = pos = cur;
- ignore_eoc = true;
- goto echo;
- }
-#line 723 "src/parse/lex.cc"
-yy118:
+#line 119 "../src/parse/lex.re"
+ { goto eoc; }
+#line 666 "src/parse/lex.cc"
+yy116:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy120;
- goto yy13;
-yy119:
+ if (yych == 'c') goto yy118;
+ goto yy14;
+yy117:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy122;
- goto yy13;
-yy120:
+ if (yych == 'c') goto yy120;
+ goto yy14;
+yy118:
++YYCURSOR;
-#line 150 "../src/parse/lex.re"
+#line 144 "../src/parse/lex.re"
{
if (opts->target == opt_t::CODE) {
const size_t len = sizeof("/*!contexts:re2c") - 1;
out.wraw(tok, tok_len() - len);
}
-
ConfContexts *conf = new ConfContexts;
lex_conf_contexts(*conf);
if (opts->target == opt_t::CODE) {
out.wdelay_contexts(opts->topIndent, conf);
}
+ tok = pos = cur;
+ goto echo;
+ }
+#line 691 "src/parse/lex.cc"
+yy120:
+ ++YYCURSOR;
+#line 128 "../src/parse/lex.re"
+ {
+ if (opts->target == opt_t::CODE) {
+ out.wdelay_state_goto(opts->topIndent);
+ }
+ goto eoc;
+ }
+#line 701 "src/parse/lex.cc"
+}
+#line 191 "../src/parse/lex.re"
+
+
+eoc:
+#line 708 "src/parse/lex.cc"
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy124;
+ if (yych == '\n') goto yy128;
+ goto yy126;
+ } else {
+ if (yych <= '\r') goto yy130;
+ if (yych == '*') goto yy131;
+ goto yy126;
+ }
+yy124:
+ ++YYCURSOR;
+#line 195 "../src/parse/lex.re"
+ { fatal("expected end of block"); }
+#line 726 "src/parse/lex.cc"
+yy126:
+ ++YYCURSOR;
+yy127:
+#line 196 "../src/parse/lex.re"
+ { goto eoc; }
+#line 732 "src/parse/lex.cc"
+yy128:
+ ++YYCURSOR;
+#line 197 "../src/parse/lex.re"
+ { ++ignored; goto eoc; }
+#line 737 "src/parse/lex.cc"
+yy130:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy128;
+ goto yy127;
+yy131:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != '/') goto yy127;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == '\n') goto yy134;
+ if (yych == '\r') goto yy136;
+yy133:
+#line 198 "../src/parse/lex.re"
+ {
+ if (ignored > 0) {
+ cline += ignored;
+ ignored = 0;
+ out.ws("\n").wline_info(cline, get_fname().c_str());
+ }
tok = pos = cur;
goto echo;
}
-#line 750 "src/parse/lex.cc"
-yy122:
+#line 759 "src/parse/lex.cc"
+yy134:
++YYCURSOR;
-#line 127 "../src/parse/lex.re"
+#line 207 "../src/parse/lex.re"
{
- tok = pos = cur;
- out.wdelay_state_goto (opts->topIndent);
- ignore_eoc = true;
- goto echo;
- }
-#line 760 "src/parse/lex.cc"
+ ++cline;
+ if (ignored > 0) {
+ cline += ignored;
+ ignored = 0;
+ out.wline_info(cline, get_fname().c_str());
+ }
+ tok = pos = cur;
+ goto echo;
+ }
+#line 773 "src/parse/lex.cc"
+yy136:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy134;
+ YYCURSOR = YYMARKER;
+ goto yy133;
}
-#line 232 "../src/parse/lex.re"
+#line 217 "../src/parse/lex.re"
}
start:
-#line 782 "src/parse/lex.cc"
+#line 800 "src/parse/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy128;
+ goto yy142;
}
if (yych <= '9') {
if (yych <= '&') {
if (yych <= '\r') {
- if (yych <= 0x08) goto yy126;
- if (yych <= '\n') goto yy131;
- if (yych >= '\r') goto yy133;
+ if (yych <= 0x08) goto yy140;
+ if (yych <= '\n') goto yy145;
+ if (yych >= '\r') goto yy147;
} else {
if (yych <= '"') {
- if (yych >= '"') goto yy134;
+ if (yych >= '"') goto yy148;
} else {
- if (yych == '%') goto yy136;
+ if (yych == '%') goto yy150;
}
}
} else {
if (yych <= '+') {
- if (yych <= '\'') goto yy137;
- if (yych <= ')') goto yy139;
- if (yych <= '*') goto yy141;
- goto yy143;
+ if (yych <= '\'') goto yy151;
+ if (yych <= ')') goto yy153;
+ if (yych <= '*') goto yy155;
+ goto yy157;
} else {
if (yych <= '-') {
- if (yych <= ',') goto yy139;
+ if (yych <= ',') goto yy153;
} else {
- if (yych <= '.') goto yy145;
- if (yych <= '/') goto yy147;
- goto yy148;
+ if (yych <= '.') goto yy159;
+ if (yych <= '/') goto yy161;
+ goto yy162;
}
}
}
} else {
if (yych <= '\\') {
if (yych <= '>') {
- if (yych <= ':') goto yy149;
- if (yych == '<') goto yy150;
- goto yy139;
+ if (yych <= ':') goto yy163;
+ if (yych == '<') goto yy164;
+ goto yy153;
} else {
if (yych <= '@') {
- if (yych <= '?') goto yy143;
- goto yy151;
+ if (yych <= '?') goto yy157;
+ goto yy165;
} else {
- if (yych <= 'Z') goto yy148;
- if (yych <= '[') goto yy152;
- goto yy139;
+ if (yych <= 'Z') goto yy162;
+ if (yych <= '[') goto yy166;
+ goto yy153;
}
}
} else {
if (yych <= 'q') {
- if (yych == '_') goto yy148;
- if (yych >= 'a') goto yy148;
+ if (yych == '_') goto yy162;
+ if (yych >= 'a') goto yy162;
} else {
if (yych <= 'z') {
- if (yych <= 'r') goto yy154;
- goto yy148;
+ if (yych <= 'r') goto yy168;
+ goto yy162;
} else {
- if (yych <= '{') goto yy155;
- if (yych <= '|') goto yy139;
+ if (yych <= '{') goto yy169;
+ if (yych <= '|') goto yy153;
}
}
}
}
-yy126:
+yy140:
++YYCURSOR;
-yy127:
-#line 410 "../src/parse/lex.re"
+yy141:
+#line 395 "../src/parse/lex.re"
{
fatalf("unexpected character: '%c'", *tok);
goto scan;
}
-#line 893 "src/parse/lex.cc"
-yy128:
+#line 911 "src/parse/lex.cc"
+yy142:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy128;
+ goto yy142;
}
-#line 394 "../src/parse/lex.re"
+#line 379 "../src/parse/lex.re"
{
goto scan;
}
-#line 905 "src/parse/lex.cc"
-yy131:
+#line 923 "src/parse/lex.cc"
+yy145:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy157;
+ if (yych == '\t') goto yy171;
} else {
- if (yych <= ' ') goto yy157;
- if (yych == '#') goto yy160;
+ if (yych <= ' ') goto yy171;
+ if (yych == '#') goto yy174;
}
-yy132:
-#line 403 "../src/parse/lex.re"
+yy146:
+#line 388 "../src/parse/lex.re"
{
if (cur == eof) return 0;
pos = cur;
cline++;
goto scan;
}
-#line 923 "src/parse/lex.cc"
-yy133:
+#line 941 "src/parse/lex.cc"
+yy147:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy131;
- goto yy127;
-yy134:
+ if (yych == '\n') goto yy145;
+ goto yy141;
+yy148:
++YYCURSOR;
-#line 281 "../src/parse/lex.re"
+#line 266 "../src/parse/lex.re"
{ yylval.regexp = lex_str('"', opts->bCaseInsensitive || opts->bCaseInverted); return TOKEN_REGEXP; }
-#line 932 "src/parse/lex.cc"
-yy136:
+#line 950 "src/parse/lex.cc"
+yy150:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '}') goto yy162;
- goto yy127;
-yy137:
+ if (yych == '}') goto yy176;
+ goto yy141;
+yy151:
++YYCURSOR;
-#line 280 "../src/parse/lex.re"
+#line 265 "../src/parse/lex.re"
{ yylval.regexp = lex_str('\'', opts->bCaseInsensitive || !opts->bCaseInverted); return TOKEN_REGEXP; }
-#line 941 "src/parse/lex.cc"
-yy139:
+#line 959 "src/parse/lex.cc"
+yy153:
++YYCURSOR;
-yy140:
-#line 297 "../src/parse/lex.re"
+yy154:
+#line 282 "../src/parse/lex.re"
{
return *tok;
}
-#line 949 "src/parse/lex.cc"
-yy141:
+#line 967 "src/parse/lex.cc"
+yy155:
++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '/') goto yy162;
-#line 301 "../src/parse/lex.re"
+ if ((yych = (YYCTYPE)*YYCURSOR) == '/') goto yy176;
+#line 286 "../src/parse/lex.re"
{
yylval.op = *tok;
return TOKEN_STAR;
}
-#line 958 "src/parse/lex.cc"
-yy143:
+#line 976 "src/parse/lex.cc"
+yy157:
++YYCURSOR;
-#line 305 "../src/parse/lex.re"
+#line 290 "../src/parse/lex.re"
{
yylval.op = *tok;
return TOKEN_CLOSE;
}
-#line 966 "src/parse/lex.cc"
-yy145:
+#line 984 "src/parse/lex.cc"
+yy159:
++YYCURSOR;
-#line 389 "../src/parse/lex.re"
+#line 374 "../src/parse/lex.re"
{
yylval.regexp = mkDot();
return TOKEN_REGEXP;
}
-#line 974 "src/parse/lex.cc"
-yy147:
+#line 992 "src/parse/lex.cc"
+yy161:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '*') goto yy164;
- if (yych == '/') goto yy166;
- goto yy140;
-yy148:
+ if (yych == '*') goto yy178;
+ if (yych == '/') goto yy180;
+ goto yy154;
+yy162:
yych = (YYCTYPE)*++YYCURSOR;
YYCTXMARKER = YYCURSOR;
- goto yy174;
-yy149:
+ goto yy188;
+yy163:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '=') goto yy175;
- goto yy127;
-yy150:
+ if (yych == '=') goto yy189;
+ goto yy141;
+yy164:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '!') goto yy177;
- if (yych == '>') goto yy179;
- goto yy140;
-yy151:
+ if (yych == '!') goto yy191;
+ if (yych == '>') goto yy193;
+ goto yy154;
+yy165:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy127;
- if (yych <= '9') goto yy180;
- if (yych <= '@') goto yy127;
- goto yy180;
+ if (yych <= '/') goto yy141;
+ if (yych <= '9') goto yy194;
+ if (yych <= '@') goto yy141;
+ goto yy194;
} else {
if (yych <= '_') {
- if (yych <= '^') goto yy127;
- goto yy180;
+ if (yych <= '^') goto yy141;
+ goto yy194;
} else {
- if (yych <= '`') goto yy127;
- if (yych <= 'z') goto yy180;
- goto yy127;
+ if (yych <= '`') goto yy141;
+ if (yych <= 'z') goto yy194;
+ goto yy141;
}
}
-yy152:
+yy166:
++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '^') goto yy183;
-#line 282 "../src/parse/lex.re"
+ if ((yych = (YYCTYPE)*YYCURSOR) == '^') goto yy197;
+#line 267 "../src/parse/lex.re"
{ yylval.regexp = lex_cls(false); return TOKEN_REGEXP; }
-#line 1016 "src/parse/lex.cc"
-yy154:
+#line 1034 "src/parse/lex.cc"
+yy168:
yych = (YYCTYPE)*++YYCURSOR;
YYCTXMARKER = YYCURSOR;
- if (yych == 'e') goto yy185;
- goto yy174;
-yy155:
+ if (yych == 'e') goto yy199;
+ goto yy188;
+yy169:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy188;
+ goto yy202;
}
if (yych <= 'Z') {
- if (yych == ',') goto yy186;
- if (yych >= 'A') goto yy190;
+ if (yych == ',') goto yy200;
+ if (yych >= 'A') goto yy204;
} else {
if (yych <= '_') {
- if (yych >= '_') goto yy190;
+ if (yych >= '_') goto yy204;
} else {
- if (yych <= '`') goto yy156;
- if (yych <= 'z') goto yy190;
+ if (yych <= '`') goto yy170;
+ if (yych <= 'z') goto yy204;
}
}
-yy156:
-#line 251 "../src/parse/lex.re"
+yy170:
+#line 236 "../src/parse/lex.re"
{
depth = 1;
goto code;
}
-#line 1045 "src/parse/lex.cc"
-yy157:
+#line 1063 "src/parse/lex.cc"
+yy171:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy157;
+ if (yych == '\t') goto yy171;
} else {
- if (yych <= ' ') goto yy157;
- if (yych == '#') goto yy160;
+ if (yych <= ' ') goto yy171;
+ if (yych == '#') goto yy174;
}
-yy159:
+yy173:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy132;
+ goto yy146;
} else {
- goto yy140;
+ goto yy154;
}
} else {
if (yyaccept == 2) {
- goto yy156;
+ goto yy170;
} else {
- goto yy187;
+ goto yy201;
}
}
-yy160:
+yy174:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy160;
- goto yy159;
+ if (yych == '\t') goto yy174;
+ goto yy173;
} else {
- if (yych <= ' ') goto yy160;
- if (yych == 'l') goto yy192;
- goto yy159;
+ if (yych <= ' ') goto yy174;
+ if (yych == 'l') goto yy206;
+ goto yy173;
}
-yy162:
+yy176:
++YYCURSOR;
-#line 275 "../src/parse/lex.re"
+#line 260 "../src/parse/lex.re"
{
tok = cur;
return 0;
}
-#line 1090 "src/parse/lex.cc"
-yy164:
+#line 1108 "src/parse/lex.cc"
+yy178:
++YYCURSOR;
-#line 269 "../src/parse/lex.re"
+#line 254 "../src/parse/lex.re"
{
depth = 1;
goto comment;
}
-#line 1098 "src/parse/lex.cc"
-yy166:
+#line 1116 "src/parse/lex.cc"
+yy180:
++YYCURSOR;
-#line 266 "../src/parse/lex.re"
+#line 251 "../src/parse/lex.re"
{
goto nextLine;
}
-#line 1105 "src/parse/lex.cc"
-yy168:
+#line 1123 "src/parse/lex.cc"
+yy182:
++YYCURSOR;
YYCURSOR -= 1;
-#line 373 "../src/parse/lex.re"
+#line 358 "../src/parse/lex.re"
{
if (!opts->FFlag) {
yylval.str = new std::string (tok, tok_len());
return TOKEN_REGEXP;
}
}
-#line 1125 "src/parse/lex.cc"
-yy170:
+#line 1143 "src/parse/lex.cc"
+yy184:
yych = (YYCTYPE)*++YYCURSOR;
- goto yy196;
-yy171:
+ goto yy210;
+yy185:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 368 "../src/parse/lex.re"
+#line 353 "../src/parse/lex.re"
{
yylval.str = new std::string (tok, tok_len ());
return TOKEN_ID;
}
-#line 1137 "src/parse/lex.cc"
-yy173:
+#line 1155 "src/parse/lex.cc"
+yy187:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
YYCTXMARKER = YYCURSOR;
-yy174:
+yy188:
if (yybm[0+yych] & 32) {
- goto yy173;
+ goto yy187;
}
if (yych <= ' ') {
- if (yych == '\t') goto yy170;
- if (yych <= 0x1F) goto yy168;
- goto yy170;
+ if (yych == '\t') goto yy184;
+ if (yych <= 0x1F) goto yy182;
+ goto yy184;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy168;
- goto yy171;
+ if (yych <= '+') goto yy182;
+ goto yy185;
} else {
- if (yych <= '<') goto yy168;
- if (yych <= '>') goto yy171;
- goto yy168;
+ if (yych <= '<') goto yy182;
+ if (yych <= '>') goto yy185;
+ goto yy182;
}
}
-yy175:
+yy189:
++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '>') goto yy197;
-#line 260 "../src/parse/lex.re"
+ if ((yych = (YYCTYPE)*YYCURSOR) == '>') goto yy211;
+#line 245 "../src/parse/lex.re"
{
tok += 2; /* skip ":=" */
depth = 0;
goto code;
}
-#line 1170 "src/parse/lex.cc"
-yy177:
+#line 1188 "src/parse/lex.cc"
+yy191:
++YYCURSOR;
-#line 288 "../src/parse/lex.re"
+#line 273 "../src/parse/lex.re"
{
return TOKEN_SETUP;
}
-#line 1177 "src/parse/lex.cc"
-yy179:
+#line 1195 "src/parse/lex.cc"
+yy193:
yych = (YYCTYPE)*++YYCURSOR;
YYCTXMARKER = YYCURSOR;
- goto yy200;
-yy180:
+ goto yy214;
+yy194:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy182;
- if (yych <= '9') goto yy180;
- if (yych >= 'A') goto yy180;
+ if (yych <= '/') goto yy196;
+ if (yych <= '9') goto yy194;
+ if (yych >= 'A') goto yy194;
} else {
if (yych <= '_') {
- if (yych >= '_') goto yy180;
+ if (yych >= '_') goto yy194;
} else {
- if (yych <= '`') goto yy182;
- if (yych <= 'z') goto yy180;
+ if (yych <= '`') goto yy196;
+ if (yych <= 'z') goto yy194;
}
}
-yy182:
-#line 292 "../src/parse/lex.re"
+yy196:
+#line 277 "../src/parse/lex.re"
{
yylval.str = new std::string(tok + 1, tok_len() - 1);
return TOKEN_CTX;
}
-#line 1204 "src/parse/lex.cc"
-yy183:
+#line 1222 "src/parse/lex.cc"
+yy197:
++YYCURSOR;
-#line 283 "../src/parse/lex.re"
+#line 268 "../src/parse/lex.re"
{ yylval.regexp = lex_cls(true); return TOKEN_REGEXP; }
-#line 1209 "src/parse/lex.cc"
-yy185:
+#line 1227 "src/parse/lex.cc"
+yy199:
yych = (YYCTYPE)*++YYCURSOR;
YYCTXMARKER = YYCURSOR;
- if (yych == '2') goto yy205;
- goto yy174;
-yy186:
+ if (yych == '2') goto yy219;
+ goto yy188;
+yy200:
++YYCURSOR;
-yy187:
-#line 341 "../src/parse/lex.re"
+yy201:
+#line 326 "../src/parse/lex.re"
{
fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-#line 1222 "src/parse/lex.cc"
-yy188:
+#line 1240 "src/parse/lex.cc"
+yy202:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy188;
+ goto yy202;
}
if (yych <= '^') {
if (yych <= ',') {
- if (yych <= '+') goto yy159;
- goto yy206;
+ if (yych <= '+') goto yy173;
+ goto yy220;
} else {
- if (yych <= '@') goto yy159;
- if (yych >= '[') goto yy159;
+ if (yych <= '@') goto yy173;
+ if (yych >= '[') goto yy173;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy159;
+ if (yych == '`') goto yy173;
} else {
- if (yych == '}') goto yy207;
- goto yy159;
+ if (yych == '}') goto yy221;
+ goto yy173;
}
}
-yy190:
+yy204:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '^') {
if (yych <= '9') {
- if (yych <= '/') goto yy159;
- goto yy190;
+ if (yych <= '/') goto yy173;
+ goto yy204;
} else {
- if (yych <= '@') goto yy159;
- if (yych <= 'Z') goto yy190;
- goto yy159;
+ if (yych <= '@') goto yy173;
+ if (yych <= 'Z') goto yy204;
+ goto yy173;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy159;
- goto yy190;
+ if (yych == '`') goto yy173;
+ goto yy204;
} else {
- if (yych == '}') goto yy209;
- goto yy159;
+ if (yych == '}') goto yy223;
+ goto yy173;
}
}
-yy192:
+yy206:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy211;
- goto yy159;
-yy193:
+ if (yych == 'i') goto yy225;
+ goto yy173;
+yy207:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 355 "../src/parse/lex.re"
+#line 340 "../src/parse/lex.re"
{
yylval.str = new std::string (tok, tok_len ());
if (opts->FFlag)
return TOKEN_ID;
}
}
-#line 1288 "src/parse/lex.cc"
-yy195:
+#line 1306 "src/parse/lex.cc"
+yy209:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy196:
+yy210:
if (yych <= ' ') {
- if (yych == '\t') goto yy195;
- if (yych <= 0x1F) goto yy193;
- goto yy195;
+ if (yych == '\t') goto yy209;
+ if (yych <= 0x1F) goto yy207;
+ goto yy209;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy193;
- goto yy171;
+ if (yych <= '+') goto yy207;
+ goto yy185;
} else {
- if (yych <= '<') goto yy193;
- if (yych <= '>') goto yy171;
- goto yy193;
+ if (yych <= '<') goto yy207;
+ if (yych <= '>') goto yy185;
+ goto yy207;
}
}
-yy197:
+yy211:
++YYCURSOR;
YYCURSOR -= 2;
-#line 256 "../src/parse/lex.re"
+#line 241 "../src/parse/lex.re"
{
return *tok;
}
-#line 1315 "src/parse/lex.cc"
-yy199:
+#line 1333 "src/parse/lex.cc"
+yy213:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
-yy200:
+yy214:
if (yych <= '9') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy159;
- goto yy199;
+ if (yych <= 0x08) goto yy173;
+ goto yy213;
} else {
- if (yych == ' ') goto yy199;
- goto yy159;
+ if (yych == ' ') goto yy213;
+ goto yy173;
}
} else {
if (yych <= '=') {
- if (yych <= ':') goto yy201;
- if (yych <= '<') goto yy159;
- goto yy202;
+ if (yych <= ':') goto yy215;
+ if (yych <= '<') goto yy173;
+ goto yy216;
} else {
- if (yych == '{') goto yy203;
- goto yy159;
+ if (yych == '{') goto yy217;
+ goto yy173;
}
}
-yy201:
+yy215:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '=') goto yy203;
- goto yy159;
-yy202:
+ if (yych == '=') goto yy217;
+ goto yy173;
+yy216:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != '>') goto yy159;
-yy203:
+ if (yych != '>') goto yy173;
+yy217:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 285 "../src/parse/lex.re"
+#line 270 "../src/parse/lex.re"
{
return TOKEN_NOCOND;
}
-#line 1353 "src/parse/lex.cc"
-yy205:
+#line 1371 "src/parse/lex.cc"
+yy219:
yych = (YYCTYPE)*++YYCURSOR;
YYCTXMARKER = YYCURSOR;
- if (yych == 'c') goto yy212;
- goto yy174;
-yy206:
+ if (yych == 'c') goto yy226;
+ goto yy188;
+yy220:
yyaccept = 3;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy187;
- if (yych <= '9') goto yy213;
- if (yych == '}') goto yy215;
- goto yy187;
-yy207:
+ if (yych <= '/') goto yy201;
+ if (yych <= '9') goto yy227;
+ if (yych == '}') goto yy229;
+ goto yy201;
+yy221:
++YYCURSOR;
-#line 310 "../src/parse/lex.re"
+#line 295 "../src/parse/lex.re"
{
if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.extop.min))
{
yylval.extop.max = yylval.extop.min;
return TOKEN_CLOSESIZE;
}
-#line 1377 "src/parse/lex.cc"
-yy209:
+#line 1395 "src/parse/lex.cc"
+yy223:
++YYCURSOR;
-#line 345 "../src/parse/lex.re"
+#line 330 "../src/parse/lex.re"
{
if (!opts->FFlag) {
fatal("curly braces for names only allowed with -F switch");
yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces
return TOKEN_ID;
}
-#line 1388 "src/parse/lex.cc"
-yy211:
+#line 1406 "src/parse/lex.cc"
+yy225:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy217;
- goto yy159;
-yy212:
+ if (yych == 'n') goto yy231;
+ goto yy173;
+yy226:
yych = (YYCTYPE)*++YYCURSOR;
YYCTXMARKER = YYCURSOR;
- if (yych == ':') goto yy218;
- goto yy174;
-yy213:
+ if (yych == ':') goto yy232;
+ goto yy188;
+yy227:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '/') goto yy159;
- if (yych <= '9') goto yy213;
- if (yych == '}') goto yy220;
- goto yy159;
-yy215:
+ if (yych <= '/') goto yy173;
+ if (yych <= '9') goto yy227;
+ if (yych == '}') goto yy234;
+ goto yy173;
+yy229:
++YYCURSOR;
-#line 332 "../src/parse/lex.re"
+#line 317 "../src/parse/lex.re"
{
if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.extop.min))
{
yylval.extop.max = std::numeric_limits<uint32_t>::max();
return TOKEN_CLOSESIZE;
}
-#line 1417 "src/parse/lex.cc"
-yy217:
+#line 1435 "src/parse/lex.cc"
+yy231:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy222;
- goto yy159;
-yy218:
+ if (yych == 'e') goto yy236;
+ goto yy173;
+yy232:
++YYCURSOR;
-#line 353 "../src/parse/lex.re"
+#line 338 "../src/parse/lex.re"
{ lex_conf (); return TOKEN_CONF; }
-#line 1426 "src/parse/lex.cc"
-yy220:
+#line 1444 "src/parse/lex.cc"
+yy234:
++YYCURSOR;
-#line 319 "../src/parse/lex.re"
+#line 304 "../src/parse/lex.re"
{
const char * p = strchr (tok, ',');
if (!s_to_u32_unsafe (tok + 1, p, yylval.extop.min))
}
return TOKEN_CLOSESIZE;
}
-#line 1442 "src/parse/lex.cc"
-yy222:
+#line 1460 "src/parse/lex.cc"
+yy236:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy224;
- if (yych <= '9') goto yy159;
- goto yy224;
-yy223:
+ if (yych <= '0') goto yy238;
+ if (yych <= '9') goto yy173;
+ goto yy238;
+yy237:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
YYCTXMARKER = YYCURSOR;
-yy224:
+yy238:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy223;
- goto yy159;
+ if (yych == '\t') goto yy237;
+ goto yy173;
} else {
- if (yych <= ' ') goto yy223;
- if (yych <= '0') goto yy159;
- if (yych >= ':') goto yy159;
+ if (yych <= ' ') goto yy237;
+ if (yych <= '0') goto yy173;
+ if (yych >= ':') goto yy173;
}
-yy225:
+yy239:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy159;
+ if (yych <= 0x08) goto yy173;
} else {
- if (yych <= '\n') goto yy229;
- if (yych <= '\f') goto yy159;
- goto yy231;
+ if (yych <= '\n') goto yy243;
+ if (yych <= '\f') goto yy173;
+ goto yy245;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy159;
+ if (yych <= 0x1F) goto yy173;
} else {
- if (yych <= '/') goto yy159;
- if (yych <= '9') goto yy225;
- goto yy159;
+ if (yych <= '/') goto yy173;
+ if (yych <= '9') goto yy239;
+ goto yy173;
}
}
-yy227:
+yy241:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy227;
- goto yy159;
+ if (yych == '\t') goto yy241;
+ goto yy173;
} else {
- if (yych <= ' ') goto yy227;
- if (yych == '"') goto yy232;
- goto yy159;
+ if (yych <= ' ') goto yy241;
+ if (yych == '"') goto yy246;
+ goto yy173;
}
-yy229:
+yy243:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 398 "../src/parse/lex.re"
+#line 383 "../src/parse/lex.re"
{
set_sourceline ();
goto scan;
}
-#line 1503 "src/parse/lex.cc"
-yy231:
+#line 1521 "src/parse/lex.cc"
+yy245:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy229;
- goto yy159;
-yy232:
+ if (yych == '\n') goto yy243;
+ goto yy173;
+yy246:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy232;
+ goto yy246;
}
- if (yych <= '\n') goto yy159;
- if (yych >= '#') goto yy235;
+ if (yych <= '\n') goto yy173;
+ if (yych >= '#') goto yy249;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy229;
- if (yych == '\r') goto yy231;
- goto yy159;
-yy235:
+ if (yych == '\n') goto yy243;
+ if (yych == '\r') goto yy245;
+ goto yy173;
+yy249:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy159;
- goto yy232;
+ if (yych == '\n') goto yy173;
+ goto yy246;
}
-#line 414 "../src/parse/lex.re"
+#line 399 "../src/parse/lex.re"
flex_name:
-#line 1533 "src/parse/lex.cc"
+#line 1551 "src/parse/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy240;
- if (yych == '\r') goto yy242;
+ if (yych == '\n') goto yy254;
+ if (yych == '\r') goto yy256;
++YYCURSOR;
-yy239:
-#line 425 "../src/parse/lex.re"
+yy253:
+#line 410 "../src/parse/lex.re"
{
YYCURSOR = tok;
goto start;
}
-#line 1547 "src/parse/lex.cc"
-yy240:
+#line 1565 "src/parse/lex.cc"
+yy254:
++YYCURSOR;
-#line 419 "../src/parse/lex.re"
+#line 404 "../src/parse/lex.re"
{
YYCURSOR = tok;
lexer_state = LEX_NORMAL;
return TOKEN_FID_END;
}
-#line 1556 "src/parse/lex.cc"
-yy242:
+#line 1574 "src/parse/lex.cc"
+yy256:
++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '\n') goto yy240;
- goto yy239;
+ if ((yych = (YYCTYPE)*YYCURSOR) == '\n') goto yy254;
+ goto yy253;
}
-#line 429 "../src/parse/lex.re"
+#line 414 "../src/parse/lex.re"
code:
-#line 1567 "src/parse/lex.cc"
+#line 1585 "src/parse/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '&') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy245;
- if (yych <= '\t') goto yy247;
- goto yy249;
+ if (yych <= 0x00) goto yy259;
+ if (yych <= '\t') goto yy261;
+ goto yy263;
} else {
- if (yych == '"') goto yy251;
- goto yy247;
+ if (yych == '"') goto yy265;
+ goto yy261;
}
} else {
if (yych <= '{') {
- if (yych <= '\'') goto yy252;
- if (yych <= 'z') goto yy247;
- goto yy253;
+ if (yych <= '\'') goto yy266;
+ if (yych <= 'z') goto yy261;
+ goto yy267;
} else {
- if (yych == '}') goto yy255;
- goto yy247;
+ if (yych == '}') goto yy269;
+ goto yy261;
}
}
-yy245:
+yy259:
++YYCURSOR;
-#line 492 "../src/parse/lex.re"
+#line 477 "../src/parse/lex.re"
{
if (cur == eof)
{
}
goto code;
}
-#line 1640 "src/parse/lex.cc"
-yy247:
+#line 1658 "src/parse/lex.cc"
+yy261:
++YYCURSOR;
-yy248:
-#line 506 "../src/parse/lex.re"
+yy262:
+#line 491 "../src/parse/lex.re"
{
goto code;
}
-#line 1648 "src/parse/lex.cc"
-yy249:
+#line 1666 "src/parse/lex.cc"
+yy263:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= '\t') goto yy257;
+ if (yych >= '\t') goto yy271;
} else {
- if (yych <= '\n') goto yy259;
- if (yych >= '\r') goto yy259;
+ if (yych <= '\n') goto yy273;
+ if (yych >= '\r') goto yy273;
}
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy257;
+ if (yych >= ' ') goto yy271;
} else {
- if (yych == '#') goto yy260;
+ if (yych == '#') goto yy274;
}
}
-yy250:
-#line 473 "../src/parse/lex.re"
+yy264:
+#line 458 "../src/parse/lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1687 "src/parse/lex.cc"
-yy251:
+#line 1705 "src/parse/lex.cc"
+yy265:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy248;
- goto yy264;
-yy252:
+ if (yych == '\n') goto yy262;
+ goto yy278;
+yy266:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy248;
- goto yy269;
-yy253:
+ if (yych == '\n') goto yy262;
+ goto yy283;
+yy267:
++YYCURSOR;
-#line 445 "../src/parse/lex.re"
+#line 430 "../src/parse/lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1712 "src/parse/lex.cc"
-yy255:
+#line 1730 "src/parse/lex.cc"
+yy269:
++YYCURSOR;
-#line 433 "../src/parse/lex.re"
+#line 418 "../src/parse/lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1728 "src/parse/lex.cc"
-yy257:
+#line 1746 "src/parse/lex.cc"
+yy271:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy271;
+ if (yych == '\t') goto yy285;
} else {
- if (yych <= ' ') goto yy271;
- if (yych == '#') goto yy260;
+ if (yych <= ' ') goto yy285;
+ if (yych == '#') goto yy274;
}
-yy258:
+yy272:
YYCURSOR -= 1;
-#line 460 "../src/parse/lex.re"
+#line 445 "../src/parse/lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1754 "src/parse/lex.cc"
-yy259:
+#line 1772 "src/parse/lex.cc"
+yy273:
yych = (YYCTYPE)*++YYCURSOR;
- goto yy258;
-yy260:
+ goto yy272;
+yy274:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy260;
+ goto yy274;
}
- if (yych == 'l') goto yy273;
-yy262:
+ if (yych == 'l') goto yy287;
+yy276:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy250;
+ goto yy264;
} else {
- goto yy248;
+ goto yy262;
}
} else {
- goto yy258;
+ goto yy272;
}
-yy263:
+yy277:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy264:
+yy278:
if (yybm[0+yych] & 32) {
- goto yy263;
+ goto yy277;
}
- if (yych <= '\n') goto yy262;
- if (yych >= '#') goto yy267;
-yy265:
+ if (yych <= '\n') goto yy276;
+ if (yych >= '#') goto yy281;
+yy279:
++YYCURSOR;
-#line 503 "../src/parse/lex.re"
+#line 488 "../src/parse/lex.re"
{
goto code;
}
-#line 1793 "src/parse/lex.cc"
-yy267:
+#line 1811 "src/parse/lex.cc"
+yy281:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy262;
- goto yy263;
-yy268:
+ if (yych == '\n') goto yy276;
+ goto yy277;
+yy282:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy269:
+yy283:
if (yybm[0+yych] & 64) {
- goto yy268;
+ goto yy282;
}
- if (yych <= '\n') goto yy262;
- if (yych <= '\'') goto yy265;
+ if (yych <= '\n') goto yy276;
+ if (yych <= '\'') goto yy279;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy262;
- goto yy268;
-yy271:
+ if (yych == '\n') goto yy276;
+ goto yy282;
+yy285:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy271;
- goto yy262;
+ if (yych == '\t') goto yy285;
+ goto yy276;
} else {
- if (yych <= ' ') goto yy271;
- if (yych == '#') goto yy260;
- goto yy262;
+ if (yych <= ' ') goto yy285;
+ if (yych == '#') goto yy274;
+ goto yy276;
}
-yy273:
+yy287:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'i') goto yy262;
+ if (yych != 'i') goto yy276;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'n') goto yy262;
+ if (yych != 'n') goto yy276;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy262;
+ if (yych != 'e') goto yy276;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy278;
- if (yych <= '9') goto yy262;
- goto yy278;
-yy277:
+ if (yych <= '0') goto yy292;
+ if (yych <= '9') goto yy276;
+ goto yy292;
+yy291:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
YYCTXMARKER = YYCURSOR;
-yy278:
+yy292:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy277;
- goto yy262;
+ if (yych == '\t') goto yy291;
+ goto yy276;
} else {
- if (yych <= ' ') goto yy277;
- if (yych <= '0') goto yy262;
- if (yych >= ':') goto yy262;
+ if (yych <= ' ') goto yy291;
+ if (yych <= '0') goto yy276;
+ if (yych >= ':') goto yy276;
}
-yy279:
+yy293:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy279;
+ goto yy293;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy262;
- if (yych <= '\t') goto yy281;
- if (yych <= '\n') goto yy283;
- goto yy262;
+ if (yych <= 0x08) goto yy276;
+ if (yych <= '\t') goto yy295;
+ if (yych <= '\n') goto yy297;
+ goto yy276;
} else {
- if (yych <= '\r') goto yy285;
- if (yych != ' ') goto yy262;
+ if (yych <= '\r') goto yy299;
+ if (yych != ' ') goto yy276;
}
-yy281:
+yy295:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy281;
- goto yy262;
+ if (yych == '\t') goto yy295;
+ goto yy276;
} else {
- if (yych <= ' ') goto yy281;
- if (yych == '"') goto yy286;
- goto yy262;
+ if (yych <= ' ') goto yy295;
+ if (yych == '"') goto yy300;
+ goto yy276;
}
-yy283:
+yy297:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 456 "../src/parse/lex.re"
+#line 441 "../src/parse/lex.re"
{
set_sourceline ();
goto code;
}
-#line 1888 "src/parse/lex.cc"
-yy285:
+#line 1906 "src/parse/lex.cc"
+yy299:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy283;
- goto yy262;
-yy286:
+ if (yych == '\n') goto yy297;
+ goto yy276;
+yy300:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy262;
- goto yy286;
+ if (yych == '\n') goto yy276;
+ goto yy300;
} else {
- if (yych <= '"') goto yy288;
- if (yych == '\\') goto yy289;
- goto yy286;
+ if (yych <= '"') goto yy302;
+ if (yych == '\\') goto yy303;
+ goto yy300;
}
-yy288:
+yy302:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy283;
- if (yych == '\r') goto yy285;
- goto yy262;
-yy289:
+ if (yych == '\n') goto yy297;
+ if (yych == '\r') goto yy299;
+ goto yy276;
+yy303:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy262;
- goto yy286;
+ if (yych == '\n') goto yy276;
+ goto yy300;
}
-#line 509 "../src/parse/lex.re"
+#line 494 "../src/parse/lex.re"
comment:
-#line 1922 "src/parse/lex.cc"
+#line 1940 "src/parse/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= ')') {
- if (yych == '\n') goto yy294;
+ if (yych == '\n') goto yy308;
} else {
- if (yych <= '*') goto yy296;
- if (yych == '/') goto yy297;
+ if (yych <= '*') goto yy310;
+ if (yych == '/') goto yy311;
}
++YYCURSOR;
-yy293:
-#line 541 "../src/parse/lex.re"
+yy307:
+#line 526 "../src/parse/lex.re"
{
if (cur == eof)
{
}
goto comment;
}
-#line 1977 "src/parse/lex.cc"
-yy294:
+#line 1995 "src/parse/lex.cc"
+yy308:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy298;
+ goto yy312;
}
- if (yych == '#') goto yy301;
-yy295:
-#line 532 "../src/parse/lex.re"
+ if (yych == '#') goto yy315;
+yy309:
+#line 517 "../src/parse/lex.re"
{
if (cur == eof)
{
cline++;
goto comment;
}
-#line 1995 "src/parse/lex.cc"
-yy296:
+#line 2013 "src/parse/lex.cc"
+yy310:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '/') goto yy303;
- goto yy293;
-yy297:
+ if (yych == '/') goto yy317;
+ goto yy307;
+yy311:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '*') goto yy305;
- goto yy293;
-yy298:
+ if (yych == '*') goto yy319;
+ goto yy307;
+yy312:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy298;
+ goto yy312;
}
- if (yych == '#') goto yy301;
-yy300:
+ if (yych == '#') goto yy315;
+yy314:
YYCURSOR = YYMARKER;
- goto yy295;
-yy301:
+ goto yy309;
+yy315:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy301;
- goto yy300;
+ if (yych == '\t') goto yy315;
+ goto yy314;
} else {
- if (yych <= ' ') goto yy301;
- if (yych == 'l') goto yy307;
- goto yy300;
+ if (yych <= ' ') goto yy315;
+ if (yych == 'l') goto yy321;
+ goto yy314;
}
-yy303:
+yy317:
++YYCURSOR;
-#line 513 "../src/parse/lex.re"
+#line 498 "../src/parse/lex.re"
{
if (--depth == 0)
{
goto comment;
}
}
-#line 2040 "src/parse/lex.cc"
-yy305:
+#line 2058 "src/parse/lex.cc"
+yy319:
++YYCURSOR;
-#line 523 "../src/parse/lex.re"
+#line 508 "../src/parse/lex.re"
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-#line 2049 "src/parse/lex.cc"
-yy307:
+#line 2067 "src/parse/lex.cc"
+yy321:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'i') goto yy300;
+ if (yych != 'i') goto yy314;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'n') goto yy300;
+ if (yych != 'n') goto yy314;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy300;
+ if (yych != 'e') goto yy314;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy312;
- if (yych <= '9') goto yy300;
- goto yy312;
-yy311:
+ if (yych <= '0') goto yy326;
+ if (yych <= '9') goto yy314;
+ goto yy326;
+yy325:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
YYCTXMARKER = YYCURSOR;
-yy312:
+yy326:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy311;
- goto yy300;
+ if (yych == '\t') goto yy325;
+ goto yy314;
} else {
- if (yych <= ' ') goto yy311;
- if (yych <= '0') goto yy300;
- if (yych >= ':') goto yy300;
+ if (yych <= ' ') goto yy325;
+ if (yych <= '0') goto yy314;
+ if (yych >= ':') goto yy314;
}
-yy313:
+yy327:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy313;
+ goto yy327;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy300;
- if (yych <= '\t') goto yy315;
- if (yych <= '\n') goto yy317;
- goto yy300;
+ if (yych <= 0x08) goto yy314;
+ if (yych <= '\t') goto yy329;
+ if (yych <= '\n') goto yy331;
+ goto yy314;
} else {
- if (yych <= '\r') goto yy319;
- if (yych != ' ') goto yy300;
+ if (yych <= '\r') goto yy333;
+ if (yych != ' ') goto yy314;
}
-yy315:
+yy329:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy315;
- goto yy300;
+ if (yych == '\t') goto yy329;
+ goto yy314;
} else {
- if (yych <= ' ') goto yy315;
- if (yych == '"') goto yy320;
- goto yy300;
+ if (yych <= ' ') goto yy329;
+ if (yych == '"') goto yy334;
+ goto yy314;
}
-yy317:
+yy331:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 528 "../src/parse/lex.re"
+#line 513 "../src/parse/lex.re"
{
set_sourceline ();
goto comment;
}
-#line 2111 "src/parse/lex.cc"
-yy319:
+#line 2129 "src/parse/lex.cc"
+yy333:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy317;
- goto yy300;
-yy320:
+ if (yych == '\n') goto yy331;
+ goto yy314;
+yy334:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy320;
+ goto yy334;
}
- if (yych <= '\n') goto yy300;
- if (yych >= '#') goto yy323;
+ if (yych <= '\n') goto yy314;
+ if (yych >= '#') goto yy337;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy317;
- if (yych == '\r') goto yy319;
- goto yy300;
-yy323:
+ if (yych == '\n') goto yy331;
+ if (yych == '\r') goto yy333;
+ goto yy314;
+yy337:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy300;
- goto yy320;
+ if (yych == '\n') goto yy314;
+ goto yy334;
}
-#line 548 "../src/parse/lex.re"
+#line 533 "../src/parse/lex.re"
nextLine:
-#line 2141 "src/parse/lex.cc"
+#line 2159 "src/parse/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy328;
+ if (yych == '\n') goto yy342;
++YYCURSOR;
-#line 559 "../src/parse/lex.re"
+#line 544 "../src/parse/lex.re"
{ if(cur == eof) {
return 0;
}
goto nextLine;
}
-#line 2154 "src/parse/lex.cc"
-yy328:
+#line 2172 "src/parse/lex.cc"
+yy342:
++YYCURSOR;
-#line 552 "../src/parse/lex.re"
+#line 537 "../src/parse/lex.re"
{ if(cur == eof) {
return 0;
}
cline++;
goto scan;
}
-#line 2165 "src/parse/lex.cc"
+#line 2183 "src/parse/lex.cc"
}
-#line 564 "../src/parse/lex.re"
+#line 549 "../src/parse/lex.re"
}
uint32_t u, l;
fst:
-#line 2191 "src/parse/lex.cc"
+#line 2209 "src/parse/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == ']') goto yy333;
-#line 588 "../src/parse/lex.re"
+ if (yych == ']') goto yy347;
+#line 573 "../src/parse/lex.re"
{ l = lex_cls_chr(); goto snd; }
-#line 2199 "src/parse/lex.cc"
-yy333:
+#line 2217 "src/parse/lex.cc"
+yy347:
++YYCURSOR;
-#line 587 "../src/parse/lex.re"
+#line 572 "../src/parse/lex.re"
{ goto end; }
-#line 2204 "src/parse/lex.cc"
+#line 2222 "src/parse/lex.cc"
}
-#line 589 "../src/parse/lex.re"
+#line 574 "../src/parse/lex.re"
snd:
-#line 2210 "src/parse/lex.cc"
+#line 2228 "src/parse/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*(YYMARKER = YYCURSOR);
- if (yych == '-') goto yy338;
-yy337:
-#line 592 "../src/parse/lex.re"
+ if (yych == '-') goto yy352;
+yy351:
+#line 577 "../src/parse/lex.re"
{ u = l; goto add; }
-#line 2219 "src/parse/lex.cc"
-yy338:
+#line 2237 "src/parse/lex.cc"
+yy352:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != ']') goto yy340;
+ if (yych != ']') goto yy354;
YYCURSOR = YYMARKER;
- goto yy337;
-yy340:
+ goto yy351;
+yy354:
++YYCURSOR;
YYCURSOR -= 1;
-#line 593 "../src/parse/lex.re"
+#line 578 "../src/parse/lex.re"
{
u = lex_cls_chr();
if (l > u) {
}
goto add;
}
-#line 2237 "src/parse/lex.cc"
+#line 2255 "src/parse/lex.cc"
}
-#line 601 "../src/parse/lex.re"
+#line 586 "../src/parse/lex.re"
add:
if (!(s = opts->encoding.encodeRange(l, u))) {
{
tok = cur;
-#line 2258 "src/parse/lex.cc"
+#line 2276 "src/parse/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy346;
- if (yych == '\\') goto yy348;
+ if (yych == '\n') goto yy360;
+ if (yych == '\\') goto yy362;
++YYCURSOR;
-#line 624 "../src/parse/lex.re"
+#line 609 "../src/parse/lex.re"
{ return static_cast<uint8_t>(tok[0]); }
-#line 2269 "src/parse/lex.cc"
-yy346:
+#line 2287 "src/parse/lex.cc"
+yy360:
++YYCURSOR;
-#line 619 "../src/parse/lex.re"
+#line 604 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error"); }
-#line 2274 "src/parse/lex.cc"
-yy348:
+#line 2292 "src/parse/lex.cc"
+yy362:
++YYCURSOR;
if ((yych = (YYCTYPE)*YYCURSOR) <= '`') {
if (yych <= '7') {
if (yych <= ',') {
- if (yych != '\n') goto yy350;
+ if (yych != '\n') goto yy364;
} else {
- if (yych <= '-') goto yy352;
- if (yych <= '/') goto yy350;
- if (yych <= '3') goto yy354;
- goto yy356;
+ if (yych <= '-') goto yy366;
+ if (yych <= '/') goto yy364;
+ if (yych <= '3') goto yy368;
+ goto yy370;
}
} else {
if (yych <= 'X') {
- if (yych == 'U') goto yy357;
- if (yych <= 'W') goto yy350;
- goto yy359;
+ if (yych == 'U') goto yy371;
+ if (yych <= 'W') goto yy364;
+ goto yy373;
} else {
- if (yych <= '[') goto yy350;
- if (yych <= '\\') goto yy360;
- if (yych <= ']') goto yy362;
- goto yy350;
+ if (yych <= '[') goto yy364;
+ if (yych <= '\\') goto yy374;
+ if (yych <= ']') goto yy376;
+ goto yy364;
}
}
} else {
if (yych <= 'q') {
if (yych <= 'e') {
- if (yych <= 'a') goto yy364;
- if (yych <= 'b') goto yy366;
- goto yy350;
+ if (yych <= 'a') goto yy378;
+ if (yych <= 'b') goto yy380;
+ goto yy364;
} else {
- if (yych <= 'f') goto yy368;
- if (yych == 'n') goto yy370;
- goto yy350;
+ if (yych <= 'f') goto yy382;
+ if (yych == 'n') goto yy384;
+ goto yy364;
}
} else {
if (yych <= 'u') {
- if (yych <= 'r') goto yy372;
- if (yych <= 's') goto yy350;
- if (yych <= 't') goto yy374;
- goto yy359;
+ if (yych <= 'r') goto yy386;
+ if (yych <= 's') goto yy364;
+ if (yych <= 't') goto yy388;
+ goto yy373;
} else {
- if (yych <= 'v') goto yy376;
- if (yych == 'x') goto yy378;
- goto yy350;
+ if (yych <= 'v') goto yy390;
+ if (yych == 'x') goto yy392;
+ goto yy364;
}
}
}
-#line 622 "../src/parse/lex.re"
+#line 607 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error in escape sequence"); }
-#line 2325 "src/parse/lex.cc"
-yy350:
+#line 2343 "src/parse/lex.cc"
+yy364:
++YYCURSOR;
-#line 637 "../src/parse/lex.re"
+#line 622 "../src/parse/lex.re"
{
warn.useless_escape(tline, tok - pos, tok[1]);
return static_cast<uint8_t>(tok[1]);
}
-#line 2333 "src/parse/lex.cc"
-yy352:
+#line 2351 "src/parse/lex.cc"
+yy366:
++YYCURSOR;
-#line 635 "../src/parse/lex.re"
+#line 620 "../src/parse/lex.re"
{ return static_cast<uint8_t>('-'); }
-#line 2338 "src/parse/lex.cc"
-yy354:
+#line 2356 "src/parse/lex.cc"
+yy368:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy355;
- if (yych <= '7') goto yy379;
-yy355:
-#line 621 "../src/parse/lex.re"
+ if (yych <= '/') goto yy369;
+ if (yych <= '7') goto yy393;
+yy369:
+#line 606 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); }
-#line 2347 "src/parse/lex.cc"
-yy356:
+#line 2365 "src/parse/lex.cc"
+yy370:
yych = (YYCTYPE)*++YYCURSOR;
- goto yy355;
-yy357:
+ goto yy369;
+yy371:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy358;
- if (yych <= '9') goto yy381;
+ if (yych <= '/') goto yy372;
+ if (yych <= '9') goto yy395;
} else {
- if (yych <= 'F') goto yy381;
- if (yych <= '`') goto yy358;
- if (yych <= 'f') goto yy381;
+ if (yych <= 'F') goto yy395;
+ if (yych <= '`') goto yy372;
+ if (yych <= 'f') goto yy395;
}
-yy358:
-#line 620 "../src/parse/lex.re"
+yy372:
+#line 605 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2365 "src/parse/lex.cc"
-yy359:
+#line 2383 "src/parse/lex.cc"
+yy373:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy358;
- if (yych <= '9') goto yy382;
- goto yy358;
+ if (yych <= '/') goto yy372;
+ if (yych <= '9') goto yy396;
+ goto yy372;
} else {
- if (yych <= 'F') goto yy382;
- if (yych <= '`') goto yy358;
- if (yych <= 'f') goto yy382;
- goto yy358;
+ if (yych <= 'F') goto yy396;
+ if (yych <= '`') goto yy372;
+ if (yych <= 'f') goto yy396;
+ goto yy372;
}
-yy360:
+yy374:
++YYCURSOR;
-#line 634 "../src/parse/lex.re"
+#line 619 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2383 "src/parse/lex.cc"
-yy362:
+#line 2401 "src/parse/lex.cc"
+yy376:
++YYCURSOR;
-#line 636 "../src/parse/lex.re"
+#line 621 "../src/parse/lex.re"
{ return static_cast<uint8_t>(']'); }
-#line 2388 "src/parse/lex.cc"
-yy364:
+#line 2406 "src/parse/lex.cc"
+yy378:
++YYCURSOR;
-#line 627 "../src/parse/lex.re"
+#line 612 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2393 "src/parse/lex.cc"
-yy366:
+#line 2411 "src/parse/lex.cc"
+yy380:
++YYCURSOR;
-#line 628 "../src/parse/lex.re"
+#line 613 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2398 "src/parse/lex.cc"
-yy368:
+#line 2416 "src/parse/lex.cc"
+yy382:
++YYCURSOR;
-#line 629 "../src/parse/lex.re"
+#line 614 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2403 "src/parse/lex.cc"
-yy370:
+#line 2421 "src/parse/lex.cc"
+yy384:
++YYCURSOR;
-#line 630 "../src/parse/lex.re"
+#line 615 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2408 "src/parse/lex.cc"
-yy372:
+#line 2426 "src/parse/lex.cc"
+yy386:
++YYCURSOR;
-#line 631 "../src/parse/lex.re"
+#line 616 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2413 "src/parse/lex.cc"
-yy374:
+#line 2431 "src/parse/lex.cc"
+yy388:
++YYCURSOR;
-#line 632 "../src/parse/lex.re"
+#line 617 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2418 "src/parse/lex.cc"
-yy376:
+#line 2436 "src/parse/lex.cc"
+yy390:
++YYCURSOR;
-#line 633 "../src/parse/lex.re"
+#line 618 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2423 "src/parse/lex.cc"
-yy378:
+#line 2441 "src/parse/lex.cc"
+yy392:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy358;
- if (yych <= '9') goto yy383;
- goto yy358;
+ if (yych <= '/') goto yy372;
+ if (yych <= '9') goto yy397;
+ goto yy372;
} else {
- if (yych <= 'F') goto yy383;
- if (yych <= '`') goto yy358;
- if (yych <= 'f') goto yy383;
- goto yy358;
+ if (yych <= 'F') goto yy397;
+ if (yych <= '`') goto yy372;
+ if (yych <= 'f') goto yy397;
+ goto yy372;
}
-yy379:
+yy393:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy380;
- if (yych <= '7') goto yy384;
-yy380:
+ if (yych <= '/') goto yy394;
+ if (yych <= '7') goto yy398;
+yy394:
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
- goto yy355;
+ goto yy369;
} else {
- goto yy358;
+ goto yy372;
}
-yy381:
+yy395:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy380;
- if (yych <= '9') goto yy386;
- goto yy380;
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy400;
+ goto yy394;
} else {
- if (yych <= 'F') goto yy386;
- if (yych <= '`') goto yy380;
- if (yych <= 'f') goto yy386;
- goto yy380;
+ if (yych <= 'F') goto yy400;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy400;
+ goto yy394;
}
-yy382:
+yy396:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy380;
- if (yych <= '9') goto yy387;
- goto yy380;
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy401;
+ goto yy394;
} else {
- if (yych <= 'F') goto yy387;
- if (yych <= '`') goto yy380;
- if (yych <= 'f') goto yy387;
- goto yy380;
+ if (yych <= 'F') goto yy401;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy401;
+ goto yy394;
}
-yy383:
+yy397:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy380;
- if (yych <= '9') goto yy388;
- goto yy380;
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy402;
+ goto yy394;
} else {
- if (yych <= 'F') goto yy388;
- if (yych <= '`') goto yy380;
- if (yych <= 'f') goto yy388;
- goto yy380;
+ if (yych <= 'F') goto yy402;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy402;
+ goto yy394;
}
-yy384:
+yy398:
++YYCURSOR;
-#line 626 "../src/parse/lex.re"
+#line 611 "../src/parse/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2488 "src/parse/lex.cc"
-yy386:
+#line 2506 "src/parse/lex.cc"
+yy400:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy380;
- if (yych <= '9') goto yy390;
- goto yy380;
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy404;
+ goto yy394;
} else {
- if (yych <= 'F') goto yy390;
- if (yych <= '`') goto yy380;
- if (yych <= 'f') goto yy390;
- goto yy380;
+ if (yych <= 'F') goto yy404;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy404;
+ goto yy394;
}
-yy387:
+yy401:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy380;
- if (yych <= '9') goto yy383;
- goto yy380;
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy397;
+ goto yy394;
} else {
- if (yych <= 'F') goto yy383;
- if (yych <= '`') goto yy380;
- if (yych <= 'f') goto yy383;
- goto yy380;
+ if (yych <= 'F') goto yy397;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy397;
+ goto yy394;
}
-yy388:
+yy402:
++YYCURSOR;
-#line 625 "../src/parse/lex.re"
+#line 610 "../src/parse/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2517 "src/parse/lex.cc"
-yy390:
+#line 2535 "src/parse/lex.cc"
+yy404:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy380;
- if (yych >= ':') goto yy380;
+ if (yych <= '/') goto yy394;
+ if (yych >= ':') goto yy394;
} else {
- if (yych <= 'F') goto yy391;
- if (yych <= '`') goto yy380;
- if (yych >= 'g') goto yy380;
+ if (yych <= 'F') goto yy405;
+ if (yych <= '`') goto yy394;
+ if (yych >= 'g') goto yy394;
}
-yy391:
+yy405:
++YYCURSOR;
if ((yych = (YYCTYPE)*YYCURSOR) <= '@') {
- if (yych <= '/') goto yy380;
- if (yych <= '9') goto yy382;
- goto yy380;
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy396;
+ goto yy394;
} else {
- if (yych <= 'F') goto yy382;
- if (yych <= '`') goto yy380;
- if (yych <= 'f') goto yy382;
- goto yy380;
+ if (yych <= 'F') goto yy396;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy396;
+ goto yy394;
}
}
-#line 641 "../src/parse/lex.re"
+#line 626 "../src/parse/lex.re"
}
end = false;
tok = cur;
-#line 2550 "src/parse/lex.cc"
+#line 2568 "src/parse/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy396;
- if (yych == '\\') goto yy398;
+ if (yych == '\n') goto yy410;
+ if (yych == '\\') goto yy412;
++YYCURSOR;
-#line 654 "../src/parse/lex.re"
+#line 639 "../src/parse/lex.re"
{
end = tok[0] == quote;
return static_cast<uint8_t>(tok[0]);
}
-#line 2564 "src/parse/lex.cc"
-yy396:
+#line 2582 "src/parse/lex.cc"
+yy410:
++YYCURSOR;
-#line 649 "../src/parse/lex.re"
+#line 634 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error"); }
-#line 2569 "src/parse/lex.cc"
-yy398:
+#line 2587 "src/parse/lex.cc"
+yy412:
++YYCURSOR;
if ((yych = (YYCTYPE)*YYCURSOR) <= 'a') {
if (yych <= 'T') {
if (yych <= '/') {
- if (yych != '\n') goto yy400;
+ if (yych != '\n') goto yy414;
} else {
- if (yych <= '3') goto yy402;
- if (yych <= '7') goto yy404;
- goto yy400;
+ if (yych <= '3') goto yy416;
+ if (yych <= '7') goto yy418;
+ goto yy414;
}
} else {
if (yych <= 'X') {
- if (yych <= 'U') goto yy405;
- if (yych <= 'W') goto yy400;
- goto yy407;
+ if (yych <= 'U') goto yy419;
+ if (yych <= 'W') goto yy414;
+ goto yy421;
} else {
- if (yych == '\\') goto yy408;
- if (yych <= '`') goto yy400;
- goto yy410;
+ if (yych == '\\') goto yy422;
+ if (yych <= '`') goto yy414;
+ goto yy424;
}
}
} else {
if (yych <= 'r') {
if (yych <= 'f') {
- if (yych <= 'b') goto yy412;
- if (yych <= 'e') goto yy400;
- goto yy414;
+ if (yych <= 'b') goto yy426;
+ if (yych <= 'e') goto yy414;
+ goto yy428;
} else {
- if (yych == 'n') goto yy416;
- if (yych <= 'q') goto yy400;
- goto yy418;
+ if (yych == 'n') goto yy430;
+ if (yych <= 'q') goto yy414;
+ goto yy432;
}
} else {
if (yych <= 'u') {
- if (yych <= 's') goto yy400;
- if (yych <= 't') goto yy420;
- goto yy407;
+ if (yych <= 's') goto yy414;
+ if (yych <= 't') goto yy434;
+ goto yy421;
} else {
- if (yych <= 'v') goto yy422;
- if (yych == 'x') goto yy424;
- goto yy400;
+ if (yych <= 'v') goto yy436;
+ if (yych == 'x') goto yy438;
+ goto yy414;
}
}
}
-#line 652 "../src/parse/lex.re"
+#line 637 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error in escape sequence"); }
-#line 2617 "src/parse/lex.cc"
-yy400:
+#line 2635 "src/parse/lex.cc"
+yy414:
++YYCURSOR;
-#line 668 "../src/parse/lex.re"
+#line 653 "../src/parse/lex.re"
{
if (tok[1] != quote) {
warn.useless_escape(tline, tok - pos, tok[1]);
}
return static_cast<uint8_t>(tok[1]);
}
-#line 2627 "src/parse/lex.cc"
-yy402:
+#line 2645 "src/parse/lex.cc"
+yy416:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy403;
- if (yych <= '7') goto yy425;
-yy403:
-#line 651 "../src/parse/lex.re"
+ if (yych <= '/') goto yy417;
+ if (yych <= '7') goto yy439;
+yy417:
+#line 636 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); }
-#line 2636 "src/parse/lex.cc"
-yy404:
+#line 2654 "src/parse/lex.cc"
+yy418:
yych = (YYCTYPE)*++YYCURSOR;
- goto yy403;
-yy405:
+ goto yy417;
+yy419:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy406;
- if (yych <= '9') goto yy427;
+ if (yych <= '/') goto yy420;
+ if (yych <= '9') goto yy441;
} else {
- if (yych <= 'F') goto yy427;
- if (yych <= '`') goto yy406;
- if (yych <= 'f') goto yy427;
+ if (yych <= 'F') goto yy441;
+ if (yych <= '`') goto yy420;
+ if (yych <= 'f') goto yy441;
}
-yy406:
-#line 650 "../src/parse/lex.re"
+yy420:
+#line 635 "../src/parse/lex.re"
{ fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2654 "src/parse/lex.cc"
-yy407:
+#line 2672 "src/parse/lex.cc"
+yy421:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy406;
- if (yych <= '9') goto yy428;
- goto yy406;
+ if (yych <= '/') goto yy420;
+ if (yych <= '9') goto yy442;
+ goto yy420;
} else {
- if (yych <= 'F') goto yy428;
- if (yych <= '`') goto yy406;
- if (yych <= 'f') goto yy428;
- goto yy406;
+ if (yych <= 'F') goto yy442;
+ if (yych <= '`') goto yy420;
+ if (yych <= 'f') goto yy442;
+ goto yy420;
}
-yy408:
+yy422:
++YYCURSOR;
-#line 667 "../src/parse/lex.re"
+#line 652 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2672 "src/parse/lex.cc"
-yy410:
+#line 2690 "src/parse/lex.cc"
+yy424:
++YYCURSOR;
-#line 660 "../src/parse/lex.re"
+#line 645 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2677 "src/parse/lex.cc"
-yy412:
+#line 2695 "src/parse/lex.cc"
+yy426:
++YYCURSOR;
-#line 661 "../src/parse/lex.re"
+#line 646 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2682 "src/parse/lex.cc"
-yy414:
+#line 2700 "src/parse/lex.cc"
+yy428:
++YYCURSOR;
-#line 662 "../src/parse/lex.re"
+#line 647 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2687 "src/parse/lex.cc"
-yy416:
+#line 2705 "src/parse/lex.cc"
+yy430:
++YYCURSOR;
-#line 663 "../src/parse/lex.re"
+#line 648 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2692 "src/parse/lex.cc"
-yy418:
+#line 2710 "src/parse/lex.cc"
+yy432:
++YYCURSOR;
-#line 664 "../src/parse/lex.re"
+#line 649 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2697 "src/parse/lex.cc"
-yy420:
+#line 2715 "src/parse/lex.cc"
+yy434:
++YYCURSOR;
-#line 665 "../src/parse/lex.re"
+#line 650 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2702 "src/parse/lex.cc"
-yy422:
+#line 2720 "src/parse/lex.cc"
+yy436:
++YYCURSOR;
-#line 666 "../src/parse/lex.re"
+#line 651 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2707 "src/parse/lex.cc"
-yy424:
+#line 2725 "src/parse/lex.cc"
+yy438:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy406;
- if (yych <= '9') goto yy429;
- goto yy406;
+ if (yych <= '/') goto yy420;
+ if (yych <= '9') goto yy443;
+ goto yy420;
} else {
- if (yych <= 'F') goto yy429;
- if (yych <= '`') goto yy406;
- if (yych <= 'f') goto yy429;
- goto yy406;
+ if (yych <= 'F') goto yy443;
+ if (yych <= '`') goto yy420;
+ if (yych <= 'f') goto yy443;
+ goto yy420;
}
-yy425:
+yy439:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy426;
- if (yych <= '7') goto yy430;
-yy426:
+ if (yych <= '/') goto yy440;
+ if (yych <= '7') goto yy444;
+yy440:
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
- goto yy403;
+ goto yy417;
} else {
- goto yy406;
+ goto yy420;
}
-yy427:
+yy441:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy426;
- if (yych <= '9') goto yy432;
- goto yy426;
+ if (yych <= '/') goto yy440;
+ if (yych <= '9') goto yy446;
+ goto yy440;
} else {
- if (yych <= 'F') goto yy432;
- if (yych <= '`') goto yy426;
- if (yych <= 'f') goto yy432;
- goto yy426;
+ if (yych <= 'F') goto yy446;
+ if (yych <= '`') goto yy440;
+ if (yych <= 'f') goto yy446;
+ goto yy440;
}
-yy428:
+yy442:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy426;
- if (yych <= '9') goto yy433;
- goto yy426;
+ if (yych <= '/') goto yy440;
+ if (yych <= '9') goto yy447;
+ goto yy440;
} else {
- if (yych <= 'F') goto yy433;
- if (yych <= '`') goto yy426;
- if (yych <= 'f') goto yy433;
- goto yy426;
+ if (yych <= 'F') goto yy447;
+ if (yych <= '`') goto yy440;
+ if (yych <= 'f') goto yy447;
+ goto yy440;
}
-yy429:
+yy443:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy426;
- if (yych <= '9') goto yy434;
- goto yy426;
+ if (yych <= '/') goto yy440;
+ if (yych <= '9') goto yy448;
+ goto yy440;
} else {
- if (yych <= 'F') goto yy434;
- if (yych <= '`') goto yy426;
- if (yych <= 'f') goto yy434;
- goto yy426;
+ if (yych <= 'F') goto yy448;
+ if (yych <= '`') goto yy440;
+ if (yych <= 'f') goto yy448;
+ goto yy440;
}
-yy430:
+yy444:
++YYCURSOR;
-#line 659 "../src/parse/lex.re"
+#line 644 "../src/parse/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2772 "src/parse/lex.cc"
-yy432:
+#line 2790 "src/parse/lex.cc"
+yy446:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy426;
- if (yych <= '9') goto yy436;
- goto yy426;
+ if (yych <= '/') goto yy440;
+ if (yych <= '9') goto yy450;
+ goto yy440;
} else {
- if (yych <= 'F') goto yy436;
- if (yych <= '`') goto yy426;
- if (yych <= 'f') goto yy436;
- goto yy426;
+ if (yych <= 'F') goto yy450;
+ if (yych <= '`') goto yy440;
+ if (yych <= 'f') goto yy450;
+ goto yy440;
}
-yy433:
+yy447:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy426;
- if (yych <= '9') goto yy429;
- goto yy426;
+ if (yych <= '/') goto yy440;
+ if (yych <= '9') goto yy443;
+ goto yy440;
} else {
- if (yych <= 'F') goto yy429;
- if (yych <= '`') goto yy426;
- if (yych <= 'f') goto yy429;
- goto yy426;
+ if (yych <= 'F') goto yy443;
+ if (yych <= '`') goto yy440;
+ if (yych <= 'f') goto yy443;
+ goto yy440;
}
-yy434:
+yy448:
++YYCURSOR;
-#line 658 "../src/parse/lex.re"
+#line 643 "../src/parse/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2801 "src/parse/lex.cc"
-yy436:
+#line 2819 "src/parse/lex.cc"
+yy450:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy426;
- if (yych >= ':') goto yy426;
+ if (yych <= '/') goto yy440;
+ if (yych >= ':') goto yy440;
} else {
- if (yych <= 'F') goto yy437;
- if (yych <= '`') goto yy426;
- if (yych >= 'g') goto yy426;
+ if (yych <= 'F') goto yy451;
+ if (yych <= '`') goto yy440;
+ if (yych >= 'g') goto yy440;
}
-yy437:
+yy451:
++YYCURSOR;
if ((yych = (YYCTYPE)*YYCURSOR) <= '@') {
- if (yych <= '/') goto yy426;
- if (yych <= '9') goto yy428;
- goto yy426;
+ if (yych <= '/') goto yy440;
+ if (yych <= '9') goto yy442;
+ goto yy440;
} else {
- if (yych <= 'F') goto yy428;
- if (yych <= '`') goto yy426;
- if (yych <= 'f') goto yy428;
- goto yy426;
+ if (yych <= 'F') goto yy442;
+ if (yych <= '`') goto yy440;
+ if (yych <= 'f') goto yy442;
+ goto yy440;
}
}
-#line 674 "../src/parse/lex.re"
+#line 659 "../src/parse/lex.re"
}
sourceline:
tok = cur;
-#line 2846 "src/parse/lex.cc"
+#line 2864 "src/parse/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy442;
+ if (yych == '\n') goto yy456;
} else {
- if (yych <= '"') goto yy444;
- if (yych <= '0') goto yy440;
- if (yych <= '9') goto yy445;
+ if (yych <= '"') goto yy458;
+ if (yych <= '0') goto yy454;
+ if (yych <= '9') goto yy459;
}
-yy440:
+yy454:
++YYCURSOR;
-yy441:
-#line 717 "../src/parse/lex.re"
+yy455:
+#line 702 "../src/parse/lex.re"
{
goto sourceline;
}
-#line 2899 "src/parse/lex.cc"
-yy442:
+#line 2917 "src/parse/lex.cc"
+yy456:
++YYCURSOR;
-#line 705 "../src/parse/lex.re"
+#line 690 "../src/parse/lex.re"
{
if (cur == eof)
{
tok = cur;
return;
}
-#line 2915 "src/parse/lex.cc"
-yy444:
+#line 2933 "src/parse/lex.cc"
+yy458:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy441;
- goto yy449;
-yy445:
+ if (yych == '\n') goto yy455;
+ goto yy463;
+yy459:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy445;
+ goto yy459;
}
-#line 694 "../src/parse/lex.re"
+#line 679 "../src/parse/lex.re"
{
if (!s_to_u32_unsafe (tok, cur, cline))
{
}
goto sourceline;
}
-#line 2935 "src/parse/lex.cc"
-yy448:
+#line 2953 "src/parse/lex.cc"
+yy462:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy449:
+yy463:
if (yybm[0+yych] & 128) {
- goto yy448;
+ goto yy462;
}
- if (yych <= '\n') goto yy450;
- if (yych <= '"') goto yy451;
- goto yy453;
-yy450:
+ if (yych <= '\n') goto yy464;
+ if (yych <= '"') goto yy465;
+ goto yy467;
+yy464:
YYCURSOR = YYMARKER;
- goto yy441;
-yy451:
+ goto yy455;
+yy465:
++YYCURSOR;
-#line 701 "../src/parse/lex.re"
+#line 686 "../src/parse/lex.re"
{
escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes
goto sourceline;
}
-#line 2957 "src/parse/lex.cc"
-yy453:
+#line 2975 "src/parse/lex.cc"
+yy467:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy450;
- goto yy448;
+ if (yych == '\n') goto yy464;
+ goto yy462;
}
-#line 720 "../src/parse/lex.re"
+#line 705 "../src/parse/lex.re"
}
-/* Generated by re2c 0.16 on Fri Apr 1 21:34:44 2016 */
+/* Generated by re2c 0.16 on Sat Apr 2 11:23:34 2016 */
#line 1 "../src/parse/lex_conf.re"
#include "src/util/c99_stdint.h"
#include <string>
{
// global re2c config (affects the whole file)
-#line 37 "../src/parse/lex_conf.re"
+#line 38 "../src/parse/lex_conf.re"
void Scanner::lex_conf ()
yy2:
++cur;
yy3:
-#line 43 "../src/parse/lex_conf.re"
+#line 44 "../src/parse/lex_conf.re"
{ fatal ((tok - pos) - tchar, "unrecognized configuration"); }
#line 81 "src/parse/lex_conf.cc"
yy4:
goto yy13;
yy86:
++cur;
-#line 46 "../src/parse/lex_conf.re"
+#line 47 "../src/parse/lex_conf.re"
{
Enc::type_t enc = Enc::ASCII;
switch (cur[-1])
goto yy13;
yy114:
++cur;
-#line 96 "../src/parse/lex_conf.re"
+#line 97 "../src/parse/lex_conf.re"
{ opts.set_yybmHexTable (lex_conf_number () != 0); return; }
#line 635 "src/parse/lex_conf.cc"
yy116:
yych = (unsigned char)*(ptr = ++cur);
if (yych == '@') goto yy146;
yy124:
-#line 80 "../src/parse/lex_conf.re"
+#line 81 "../src/parse/lex_conf.re"
{ opts.set_condGoto (lex_conf_string ()); return; }
#line 671 "src/parse/lex_conf.cc"
yy125:
goto yy13;
yy139:
++cur;
-#line 144 "../src/parse/lex_conf.re"
+#line 145 "../src/parse/lex_conf.re"
{ opts.set_bEmitYYCh (lex_conf_number () != 0); return; }
#line 744 "src/parse/lex_conf.cc"
yy141:
goto yy13;
yy148:
++cur;
-#line 76 "../src/parse/lex_conf.re"
+#line 77 "../src/parse/lex_conf.re"
{ opts.set_condPrefix (lex_conf_string ()); return; }
#line 777 "src/parse/lex_conf.cc"
yy150:
goto yy13;
yy163:
++cur;
-#line 129 "../src/parse/lex_conf.re"
+#line 130 "../src/parse/lex_conf.re"
{
const int32_t n = lex_conf_number ();
if (n < 0)
}
if (yych == '=') goto yy205;
yy169:
-#line 157 "../src/parse/lex_conf.re"
+#line 158 "../src/parse/lex_conf.re"
{ out.set_user_start_label (lex_conf_string ()); return; }
#line 875 "src/parse/lex_conf.cc"
yy170:
goto yy13;
yy201:
++cur;
-#line 153 "../src/parse/lex_conf.re"
+#line 154 "../src/parse/lex_conf.re"
{ opts.set_labelPrefix (lex_conf_string ()); return; }
#line 1006 "src/parse/lex_conf.cc"
yy203:
}
yy207:
++cur;
-#line 91 "../src/parse/lex_conf.re"
+#line 92 "../src/parse/lex_conf.re"
{ opts.set_bUseStateAbort (lex_conf_number () != 0); return; }
#line 1041 "src/parse/lex_conf.cc"
yy209:
yych = (unsigned char)*(ptr = ++cur);
if (yych == '@') goto yy260;
yy217:
-#line 78 "../src/parse/lex_conf.re"
+#line 79 "../src/parse/lex_conf.re"
{ opts.set_condDivider (lex_conf_string ()); return; }
#line 1086 "src/parse/lex_conf.cc"
yy218:
yych = (unsigned char)*(ptr = ++cur);
if (yych == 'M') goto yy268;
yy225:
-#line 121 "../src/parse/lex_conf.re"
+#line 122 "../src/parse/lex_conf.re"
{ opts.set_yyctx (lex_conf_string ()); return; }
#line 1118 "src/parse/lex_conf.cc"
yy226:
goto yy13;
yy241:
++cur;
-#line 90 "../src/parse/lex_conf.re"
+#line 91 "../src/parse/lex_conf.re"
{ opts.set_yynext (lex_conf_string ()); return; }
#line 1185 "src/parse/lex_conf.cc"
yy243:
++cur;
yy245:
cur = ctx;
-#line 156 "../src/parse/lex_conf.re"
+#line 157 "../src/parse/lex_conf.re"
{ out.set_force_start_label (lex_conf_number () != 0); return; }
#line 1197 "src/parse/lex_conf.cc"
yy246:
goto yy13;
yy255:
++cur;
-#line 151 "../src/parse/lex_conf.re"
+#line 152 "../src/parse/lex_conf.re"
{ opts.set_fill_check (lex_conf_number () != 0); return; }
#line 1239 "src/parse/lex_conf.cc"
yy257:
goto yy13;
yy263:
++cur;
-#line 125 "../src/parse/lex_conf.re"
+#line 126 "../src/parse/lex_conf.re"
{ opts.set_contexts_expr (lex_conf_string ()); return; }
#line 1268 "src/parse/lex_conf.cc"
yy265:
goto yy13;
yy272:
++cur;
-#line 122 "../src/parse/lex_conf.re"
+#line 123 "../src/parse/lex_conf.re"
{ opts.set_yydist (lex_conf_string ()); return; }
#line 1301 "src/parse/lex_conf.cc"
yy274:
if (yych == ':') goto yy319;
if (yych == '@') goto yy320;
yy275:
-#line 146 "../src/parse/lex_conf.re"
+#line 147 "../src/parse/lex_conf.re"
{ opts.set_fill (lex_conf_string ()); return; }
#line 1310 "src/parse/lex_conf.cc"
yy276:
goto yy13;
yy281:
++cur;
-#line 114 "../src/parse/lex_conf.re"
+#line 115 "../src/parse/lex_conf.re"
{ opts.set_yypeek (lex_conf_string ()); return; }
#line 1335 "src/parse/lex_conf.cc"
yy283:
goto yy13;
yy286:
++cur;
-#line 115 "../src/parse/lex_conf.re"
+#line 116 "../src/parse/lex_conf.re"
{ opts.set_yyskip (lex_conf_string ()); return; }
#line 1352 "src/parse/lex_conf.cc"
yy288:
++cur;
-#line 127 "../src/parse/lex_conf.re"
+#line 128 "../src/parse/lex_conf.re"
{ opts.set_indString (lex_conf_string ()); return; }
#line 1357 "src/parse/lex_conf.cc"
yy290:
goto yy13;
yy293:
++cur;
-#line 95 "../src/parse/lex_conf.re"
+#line 96 "../src/parse/lex_conf.re"
{ opts.set_yybm (lex_conf_string ()); return; }
#line 1374 "src/parse/lex_conf.cc"
yy295:
++cur;
-#line 142 "../src/parse/lex_conf.re"
+#line 143 "../src/parse/lex_conf.re"
{ opts.set_yych (lex_conf_string ()); return; }
#line 1379 "src/parse/lex_conf.cc"
yy297:
goto yy13;
yy301:
++cur;
-#line 147 "../src/parse/lex_conf.re"
+#line 148 "../src/parse/lex_conf.re"
{ opts.set_fill_use (lex_conf_number () != 0); return; }
#line 1400 "src/parse/lex_conf.cc"
yy303:
goto yy13;
yy306:
++cur;
-#line 81 "../src/parse/lex_conf.re"
+#line 82 "../src/parse/lex_conf.re"
{ opts.set_condGotoParam (lex_conf_string ()); return; }
#line 1417 "src/parse/lex_conf.cc"
yy308:
++cur;
-#line 77 "../src/parse/lex_conf.re"
+#line 78 "../src/parse/lex_conf.re"
{ opts.set_condEnumPrefix (lex_conf_string ()); return; }
#line 1422 "src/parse/lex_conf.cc"
yy310:
goto yy13;
yy314:
++cur;
-#line 141 "../src/parse/lex_conf.re"
+#line 142 "../src/parse/lex_conf.re"
{ opts.set_yyctype (lex_conf_string ()); return; }
#line 1443 "src/parse/lex_conf.cc"
yy316:
goto yy13;
yy317:
++cur;
-#line 139 "../src/parse/lex_conf.re"
+#line 140 "../src/parse/lex_conf.re"
{ opts.set_yydebug (lex_conf_string ()); return; }
#line 1452 "src/parse/lex_conf.cc"
yy319:
goto yy13;
yy324:
++cur;
-#line 112 "../src/parse/lex_conf.re"
+#line 113 "../src/parse/lex_conf.re"
{ opts.set_yylimit (lex_conf_string ()); return; }
#line 1477 "src/parse/lex_conf.cc"
yy326:
goto yy13;
yy338:
++cur;
-#line 98 "../src/parse/lex_conf.re"
+#line 99 "../src/parse/lex_conf.re"
{
const int32_t n = lex_conf_number ();
if (n < 0)
goto yy13;
yy341:
++cur;
-#line 124 "../src/parse/lex_conf.re"
+#line 125 "../src/parse/lex_conf.re"
{ opts.set_contexts_prefix(lex_conf_string ()); return; }
#line 1547 "src/parse/lex_conf.cc"
yy343:
yych = (unsigned char)*(ptr = ++cur);
if (yych == 'C') goto yy370;
yy344:
-#line 116 "../src/parse/lex_conf.re"
+#line 117 "../src/parse/lex_conf.re"
{ opts.set_yybackup (lex_conf_string ()); return; }
#line 1555 "src/parse/lex_conf.cc"
yy345:
goto yy13;
yy347:
++cur;
-#line 109 "../src/parse/lex_conf.re"
+#line 110 "../src/parse/lex_conf.re"
{ opts.set_yycursor (lex_conf_string ()); return; }
#line 1568 "src/parse/lex_conf.cc"
yy349:
goto yy13;
yy354:
++cur;
-#line 110 "../src/parse/lex_conf.re"
+#line 111 "../src/parse/lex_conf.re"
{ opts.set_yymarker (lex_conf_string ()); return; }
#line 1593 "src/parse/lex_conf.cc"
yy356:
goto yy13;
yy360:
++cur;
-#line 92 "../src/parse/lex_conf.re"
+#line 93 "../src/parse/lex_conf.re"
{ opts.set_bUseStateNext (lex_conf_number () != 0); return; }
#line 1614 "src/parse/lex_conf.cc"
yy362:
goto yy13;
yy366:
++cur;
-#line 143 "../src/parse/lex_conf.re"
+#line 144 "../src/parse/lex_conf.re"
{ opts.set_yychConversion (lex_conf_number () != 0); return; }
#line 1635 "src/parse/lex_conf.cc"
yy368:
yych = (unsigned char)*(ptr = ++cur);
if (yych == 'C') goto yy403;
yy379:
-#line 118 "../src/parse/lex_conf.re"
+#line 119 "../src/parse/lex_conf.re"
{ opts.set_yyrestore (lex_conf_string ()); return; }
#line 1683 "src/parse/lex_conf.cc"
yy380:
goto yy13;
yy387:
++cur;
-#line 149 "../src/parse/lex_conf.re"
+#line 150 "../src/parse/lex_conf.re"
{ opts.set_fill_arg_use (lex_conf_number () != 0); return; }
#line 1716 "src/parse/lex_conf.cc"
yy389:
++cur;
-#line 79 "../src/parse/lex_conf.re"
+#line 80 "../src/parse/lex_conf.re"
{ opts.set_condDividerParam (lex_conf_string ()); return; }
#line 1721 "src/parse/lex_conf.cc"
yy391:
goto yy13;
yy392:
++cur;
-#line 70 "../src/parse/lex_conf.re"
+#line 71 "../src/parse/lex_conf.re"
{ opts.set_yycondtype (lex_conf_string ()); return; }
#line 1730 "src/parse/lex_conf.cc"
yy394:
goto yy13;
yy396:
++cur;
-#line 148 "../src/parse/lex_conf.re"
+#line 149 "../src/parse/lex_conf.re"
{ opts.set_fill_arg (lex_conf_string ()); return; }
#line 1743 "src/parse/lex_conf.cc"
yy398:
yych = (unsigned char)*(ptr = ++cur);
if (yych == ':') goto yy423;
yy400:
-#line 84 "../src/parse/lex_conf.re"
+#line 85 "../src/parse/lex_conf.re"
{ opts.set_state_get (lex_conf_string ()); return; }
#line 1755 "src/parse/lex_conf.cc"
yy401:
++cur;
-#line 120 "../src/parse/lex_conf.re"
+#line 121 "../src/parse/lex_conf.re"
{ opts.set_yylessthan (lex_conf_string ()); return; }
#line 1760 "src/parse/lex_conf.cc"
yy403:
if (yych == ':') goto yy426;
if (yych == '@') goto yy427;
yy406:
-#line 86 "../src/parse/lex_conf.re"
+#line 87 "../src/parse/lex_conf.re"
{ opts.set_state_set (lex_conf_string ()); return; }
#line 1777 "src/parse/lex_conf.cc"
yy407:
++cur;
-#line 89 "../src/parse/lex_conf.re"
+#line 90 "../src/parse/lex_conf.re"
{ opts.set_yyfilllabel (lex_conf_string ()); return; }
#line 1782 "src/parse/lex_conf.cc"
yy409:
++cur;
-#line 93 "../src/parse/lex_conf.re"
+#line 94 "../src/parse/lex_conf.re"
{ opts.set_yyaccept (lex_conf_string ()); return; }
#line 1787 "src/parse/lex_conf.cc"
yy411:
++cur;
-#line 82 "../src/parse/lex_conf.re"
+#line 83 "../src/parse/lex_conf.re"
{ opts.set_yyctable (lex_conf_string ()); return; }
#line 1792 "src/parse/lex_conf.cc"
yy413:
++cur;
-#line 160 "../src/parse/lex_conf.re"
+#line 161 "../src/parse/lex_conf.re"
{ lex_conf_string (); return; }
#line 1797 "src/parse/lex_conf.cc"
yy415:
++cur;
-#line 107 "../src/parse/lex_conf.re"
+#line 108 "../src/parse/lex_conf.re"
{ opts.set_yytarget (lex_conf_string ()); return; }
#line 1802 "src/parse/lex_conf.cc"
yy417:
++cur;
-#line 117 "../src/parse/lex_conf.re"
+#line 118 "../src/parse/lex_conf.re"
{ opts.set_yybackupctx (lex_conf_string ()); return; }
#line 1807 "src/parse/lex_conf.cc"
yy419:
++cur;
-#line 111 "../src/parse/lex_conf.re"
+#line 112 "../src/parse/lex_conf.re"
{ opts.set_yyctxmarker (lex_conf_string ()); return; }
#line 1812 "src/parse/lex_conf.cc"
yy421:
goto yy13;
yy428:
++cur;
-#line 150 "../src/parse/lex_conf.re"
+#line 151 "../src/parse/lex_conf.re"
{ opts.set_fill_naked (lex_conf_number () != 0); return; }
#line 1845 "src/parse/lex_conf.cc"
yy430:
goto yy13;
yy432:
++cur;
-#line 119 "../src/parse/lex_conf.re"
+#line 120 "../src/parse/lex_conf.re"
{ opts.set_yyrestorectx (lex_conf_string ()); return; }
#line 1858 "src/parse/lex_conf.cc"
yy434:
yych = (unsigned char)*(ptr = ++cur);
if (yych == ':') goto yy449;
yy443:
-#line 71 "../src/parse/lex_conf.re"
+#line 72 "../src/parse/lex_conf.re"
{ opts.set_cond_get (lex_conf_string ()); return; }
#line 1898 "src/parse/lex_conf.cc"
yy444:
if (yych == ':') goto yy451;
if (yych == '@') goto yy452;
yy446:
-#line 73 "../src/parse/lex_conf.re"
+#line 74 "../src/parse/lex_conf.re"
{ opts.set_cond_set (lex_conf_string ()); return; }
#line 1911 "src/parse/lex_conf.cc"
yy447:
goto yy13;
yy456:
++cur;
-#line 85 "../src/parse/lex_conf.re"
+#line 86 "../src/parse/lex_conf.re"
{ opts.set_state_get_naked (lex_conf_number () != 0); return; }
#line 1952 "src/parse/lex_conf.cc"
yy458:
goto yy13;
yy460:
++cur;
-#line 87 "../src/parse/lex_conf.re"
+#line 88 "../src/parse/lex_conf.re"
{ opts.set_state_set_naked (lex_conf_number () != 0); return; }
#line 1965 "src/parse/lex_conf.cc"
yy462:
++cur;
-#line 88 "../src/parse/lex_conf.re"
+#line 89 "../src/parse/lex_conf.re"
{ opts.set_state_set_arg (lex_conf_string ()); return; }
#line 1970 "src/parse/lex_conf.cc"
yy464:
goto yy13;
yy472:
++cur;
-#line 74 "../src/parse/lex_conf.re"
+#line 75 "../src/parse/lex_conf.re"
{ opts.set_cond_set_arg (lex_conf_string ()); return; }
#line 2007 "src/parse/lex_conf.cc"
yy474:
++cur;
-#line 72 "../src/parse/lex_conf.re"
+#line 73 "../src/parse/lex_conf.re"
{ opts.set_cond_get_naked (lex_conf_number () != 0); return; }
#line 2012 "src/parse/lex_conf.cc"
yy476:
++cur;
-#line 75 "../src/parse/lex_conf.re"
+#line 76 "../src/parse/lex_conf.re"
{ opts.set_cond_set_naked (lex_conf_number () != 0); return; }
#line 2017 "src/parse/lex_conf.cc"
}
-#line 161 "../src/parse/lex_conf.re"
+#line 162 "../src/parse/lex_conf.re"
}
if ((lim - cur) < 4) fill(4);
yych = (unsigned char)*cur;
if (yybm[0+yych] & 128) {
- goto yy483;
+ goto yy482;
}
if (yych <= ')') {
if (yych <= '\n') {
- if (yych <= 0x08) goto yy481;
- goto yy485;
+ if (yych >= '\t') goto yy485;
} else {
if (yych == '\r') goto yy487;
- goto yy481;
}
} else {
if (yych <= 'l') {
if (yych <= '*') goto yy488;
- if (yych <= 'k') goto yy481;
- goto yy489;
+ if (yych >= 'l') goto yy489;
} else {
if (yych == 's') goto yy490;
- goto yy481;
}
}
-yy480:
-#line 170 "../src/parse/lex_conf.re"
- { continue; }
-#line 2090 "src/parse/lex_conf.cc"
-yy481:
++cur;
-yy482:
-#line 168 "../src/parse/lex_conf.re"
+yy481:
+#line 169 "../src/parse/lex_conf.re"
{ fatal("unrecognized configuration"); }
-#line 2096 "src/parse/lex_conf.cc"
-yy483:
+#line 2087 "src/parse/lex_conf.cc"
+yy482:
++cur;
if (lim <= cur) fill(1);
yych = (unsigned char)*cur;
if (yybm[0+yych] & 128) {
- goto yy483;
+ goto yy482;
}
- goto yy480;
+#line 171 "../src/parse/lex_conf.re"
+ { continue; }
+#line 2097 "src/parse/lex_conf.cc"
yy485:
++cur;
-#line 171 "../src/parse/lex_conf.re"
+#line 172 "../src/parse/lex_conf.re"
{ ++cline; continue; }
-#line 2109 "src/parse/lex_conf.cc"
+#line 2102 "src/parse/lex_conf.cc"
yy487:
yych = (unsigned char)*++cur;
if (yych == '\n') goto yy485;
- goto yy482;
+ goto yy481;
yy488:
yych = (unsigned char)*++cur;
if (yych == '/') goto yy491;
- goto yy482;
+ goto yy481;
yy489:
yych = (unsigned char)*(ptr = ++cur);
if (yych == 'i') goto yy493;
- goto yy482;
+ goto yy481;
yy490:
yych = (unsigned char)*(ptr = ++cur);
if (yych == 'e') goto yy495;
- goto yy482;
+ goto yy481;
yy491:
++cur;
-#line 172 "../src/parse/lex_conf.re"
+#line 173 "../src/parse/lex_conf.re"
{ return; }
-#line 2130 "src/parse/lex_conf.cc"
+#line 2123 "src/parse/lex_conf.cc"
yy493:
yych = (unsigned char)*++cur;
if (yych == 'n') goto yy496;
yy494:
cur = ptr;
- goto yy482;
+ goto yy481;
yy495:
yych = (unsigned char)*++cur;
if (yych == 'p') goto yy497;
goto yy494;
yy497:
++cur;
-#line 175 "../src/parse/lex_conf.re"
+#line 176 "../src/parse/lex_conf.re"
{ conf.sep = lex_conf_string(); continue; }
-#line 2149 "src/parse/lex_conf.cc"
+#line 2142 "src/parse/lex_conf.cc"
yy499:
++cur;
-#line 174 "../src/parse/lex_conf.re"
+#line 175 "../src/parse/lex_conf.re"
{ conf.line = lex_conf_string(); continue; }
-#line 2154 "src/parse/lex_conf.cc"
+#line 2147 "src/parse/lex_conf.cc"
}
-#line 176 "../src/parse/lex_conf.re"
+#line 177 "../src/parse/lex_conf.re"
}
}
void Scanner::lex_conf_assign ()
{
-#line 2164 "src/parse/lex_conf.cc"
+#line 2157 "src/parse/lex_conf.cc"
{
unsigned char yych;
static const unsigned char yybm[] = {
}
++cur;
yy504:
-#line 183 "../src/parse/lex_conf.re"
+#line 184 "../src/parse/lex_conf.re"
{ fatal ("missing '=' in configuration"); }
-#line 2213 "src/parse/lex_conf.cc"
+#line 2206 "src/parse/lex_conf.cc"
yy505:
yych = (unsigned char)*(ptr = ++cur);
if (yych <= 0x1F) {
if (yybm[0+yych] & 128) {
goto yy506;
}
-#line 184 "../src/parse/lex_conf.re"
+#line 185 "../src/parse/lex_conf.re"
{ return; }
-#line 2232 "src/parse/lex_conf.cc"
+#line 2225 "src/parse/lex_conf.cc"
yy509:
++cur;
if (lim <= cur) fill(1);
cur = ptr;
goto yy504;
}
-#line 185 "../src/parse/lex_conf.re"
+#line 186 "../src/parse/lex_conf.re"
}
void Scanner::lex_conf_semicolon ()
{
-#line 2253 "src/parse/lex_conf.cc"
+#line 2246 "src/parse/lex_conf.cc"
{
unsigned char yych;
static const unsigned char yybm[] = {
}
++cur;
yy515:
-#line 191 "../src/parse/lex_conf.re"
+#line 192 "../src/parse/lex_conf.re"
{ fatal ("missing ending ';' in configuration"); }
-#line 2302 "src/parse/lex_conf.cc"
+#line 2295 "src/parse/lex_conf.cc"
yy516:
yych = (unsigned char)*(ptr = ++cur);
if (yybm[0+yych] & 128) {
if (yych != ';') goto yy515;
yy517:
++cur;
-#line 192 "../src/parse/lex_conf.re"
+#line 193 "../src/parse/lex_conf.re"
{ return; }
-#line 2313 "src/parse/lex_conf.cc"
+#line 2306 "src/parse/lex_conf.cc"
yy519:
++cur;
if (lim <= cur) fill(1);
cur = ptr;
goto yy515;
}
-#line 193 "../src/parse/lex_conf.re"
+#line 194 "../src/parse/lex_conf.re"
}
lex_conf_assign ();
tok = cur;
-#line 2334 "src/parse/lex_conf.cc"
+#line 2327 "src/parse/lex_conf.cc"
{
unsigned char yych;
static const unsigned char yybm[] = {
yy526:
++cur;
yy527:
-#line 202 "../src/parse/lex_conf.re"
+#line 203 "../src/parse/lex_conf.re"
{
int32_t n = 0;
if (!s_to_i32_unsafe (tok, cur, n))
lex_conf_semicolon ();
return n;
}
-#line 2398 "src/parse/lex_conf.cc"
+#line 2391 "src/parse/lex_conf.cc"
yy528:
++cur;
if (lim <= cur) fill(1);
}
goto yy527;
}
-#line 211 "../src/parse/lex_conf.re"
+#line 212 "../src/parse/lex_conf.re"
}
std::string s;
tok = cur;
-#line 2418 "src/parse/lex_conf.cc"
+#line 2411 "src/parse/lex_conf.cc"
{
unsigned char yych;
static const unsigned char yybm[] = {
if (yych != ';') goto yy533;
}
}
-#line 238 "../src/parse/lex_conf.re"
+#line 239 "../src/parse/lex_conf.re"
{ goto end; }
-#line 2474 "src/parse/lex_conf.cc"
+#line 2467 "src/parse/lex_conf.cc"
yy533:
++cur;
if (lim <= cur) fill(1);
if (yybm[0+yych] & 128) {
goto yy533;
}
-#line 234 "../src/parse/lex_conf.re"
+#line 235 "../src/parse/lex_conf.re"
{
s = std::string(tok, tok_len());
goto end;
}
-#line 2487 "src/parse/lex_conf.cc"
+#line 2480 "src/parse/lex_conf.cc"
yy536:
++cur;
-#line 220 "../src/parse/lex_conf.re"
+#line 221 "../src/parse/lex_conf.re"
{
const char quote = tok[0];
for (bool end;;) {
}
}
}
-#line 2505 "src/parse/lex_conf.cc"
+#line 2498 "src/parse/lex_conf.cc"
}
-#line 239 "../src/parse/lex_conf.re"
+#line 240 "../src/parse/lex_conf.re"
end:
lex_conf_semicolon ();