-/* Generated by re2c 0.16 on Thu May 18 22:54:55 2017 */
+/* Generated by re2c 0.16 on Fri Jul 14 21:52:42 2017 */
#line 1 "../src/ast/lex.re"
#include "src/util/c99_stdint.h"
#include <stddef.h>
}
}
++YYCURSOR;
-#line 121 "../src/ast/lex.re"
+#line 127 "../src/ast/lex.re"
{
if (cur != eof) goto echo;
out.wraw(tok, ptr);
yy4:
++YYCURSOR;
yy5:
-#line 138 "../src/ast/lex.re"
+#line 144 "../src/ast/lex.re"
{ goto echo; }
#line 125 "src/ast/lex.cc"
yy6:
}
if (yych == '#') goto yy14;
yy7:
-#line 132 "../src/ast/lex.re"
+#line 138 "../src/ast/lex.re"
{
cline++;
pos = cur;
goto yy13;
yy43:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy52;
+ if (yych == 'l') goto yy52;
+ if (yych == 's') goto yy53;
goto yy13;
yy44:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy53;
+ if (yych == 'e') goto yy54;
goto yy13;
yy45:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy54;
+ if (yych == ':') goto yy55;
goto yy13;
yy46:
++YYCURSOR;
if (yych <= '0') goto yy13;
if (yych <= '9') {
YYCTXMARKER = YYCURSOR;
- goto yy55;
+ goto yy56;
}
goto yy13;
}
yy48:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy57;
+ if (yych == 't') goto yy58;
goto yy13;
yy49:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy58;
+ if (yych == 'r') goto yy59;
goto yy13;
yy50:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy59;
+ if (yych == 'r') goto yy60;
goto yy13;
yy51:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy60;
+ if (yych == 's') goto yy61;
goto yy13;
yy52:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy61;
+ if (yych == 'i') goto yy62;
goto yy13;
yy53:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy62;
+ if (yych == ':') goto yy63;
goto yy13;
yy54:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy63;
+ if (yych == 's') goto yy64;
goto yy13;
yy55:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy65;
+ goto yy13;
+yy56:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy55;
+ goto yy56;
}
if (yych <= '\f') {
if (yych <= 0x08) goto yy13;
- if (yych <= '\t') goto yy64;
- if (yych <= '\n') goto yy66;
+ if (yych <= '\t') goto yy66;
+ if (yych <= '\n') goto yy68;
goto yy13;
} else {
- if (yych <= '\r') goto yy68;
- if (yych == ' ') goto yy64;
+ if (yych <= '\r') goto yy70;
+ if (yych == ' ') goto yy66;
goto yy13;
}
-yy57:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy69;
- goto yy13;
yy58:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy70;
+ if (yych == 'a') goto yy71;
goto yy13;
yy59:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy71;
+ if (yych == 'e') goto yy72;
goto yy13;
yy60:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy72;
+ if (yych == 'e') goto yy73;
goto yy13;
yy61:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy73;
+ if (yych == ':') goto yy74;
goto yy13;
yy62:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy74;
+ if (yych == 's') goto yy75;
goto yy13;
yy63:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy75;
+ if (yych == 'r') goto yy76;
goto yy13;
yy64:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy77;
+ goto yy13;
+yy65:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy78;
+ goto yy13;
+yy66:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy64;
+ if (yych == '\t') goto yy66;
goto yy13;
} else {
- if (yych <= ' ') goto yy64;
- if (yych == '"') goto yy76;
+ if (yych <= ' ') goto yy66;
+ if (yych == '"') goto yy79;
goto yy13;
}
-yy66:
+yy68:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 127 "../src/ast/lex.re"
+#line 133 "../src/ast/lex.re"
{
set_sourceline();
goto echo;
}
-#line 421 "src/ast/lex.cc"
-yy68:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy66;
- goto yy13;
-yy69:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy78;
- goto yy13;
+#line 430 "src/ast/lex.cc"
yy70:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy79;
+ if (yych == '\n') goto yy68;
goto yy13;
yy71:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy80;
+ if (yych == 't') goto yy81;
goto yy13;
yy72:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy81;
+ if (yych == ':') goto yy82;
goto yy13;
yy73:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy82;
+ if (yych == '2') goto yy83;
goto yy13;
yy74:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy83;
+ if (yych == 'r') goto yy84;
goto yy13;
yy75:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy84;
+ if (yych == 't') goto yy85;
goto yy13;
yy76:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy76;
- }
- if (yych <= '\n') goto yy13;
- if (yych <= '"') goto yy85;
- goto yy86;
-yy78:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy87;
+ if (yych == 'e') goto yy86;
goto yy13;
-yy79:
+yy77:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy88;
+ if (yych == 'r') goto yy87;
goto yy13;
-yy80:
+yy78:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy89;
+ if (yych == '2') goto yy88;
goto yy13;
+yy79:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy79;
+ }
+ if (yych <= '\n') goto yy13;
+ if (yych <= '"') goto yy89;
+ goto yy90;
yy81:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy91;
goto yy13;
yy82:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy92;
+ if (yych == 'r') goto yy92;
goto yy13;
yy83:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy93;
+ if (yych == 'c') goto yy93;
goto yy13;
yy84:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy94;
+ if (yych == 'e') goto yy95;
goto yy13;
yy85:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy66;
- if (yych == '\r') goto yy68;
+ if (yych == 's') goto yy96;
goto yy13;
yy86:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy97;
+ goto yy13;
+yy87:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy98;
+ goto yy13;
+yy88:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy99;
+ goto yy13;
+yy89:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy68;
+ if (yych == '\r') goto yy70;
+ goto yy13;
+yy90:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych == '\n') goto yy13;
- goto yy76;
-yy87:
+ goto yy79;
+yy91:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy96;
+ if (yych == ':') goto yy101;
goto yy13;
-yy88:
+yy92:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy97;
+ if (yych == 'e') goto yy102;
goto yy13;
-yy89:
+yy93:
++YYCURSOR;
#line 92 "../src/ast/lex.re"
{
lex_end_of_comment(out);
goto echo;
}
-#line 520 "src/ast/lex.cc"
-yy91:
+#line 537 "src/ast/lex.cc"
+yy95:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy98;
+ if (yych == '2') goto yy103;
goto yy13;
-yy92:
+yy96:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy99;
+ if (yych == ':') goto yy104;
goto yy13;
-yy93:
+yy97:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy105;
+ goto yy13;
+yy98:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy101;
+ if (yych == '2') goto yy107;
goto yy13;
-yy94:
+yy99:
++YYCURSOR;
#line 81 "../src/ast/lex.re"
{
out.wraw(tok, ptr);
return Reuse;
}
-#line 540 "src/ast/lex.cc"
-yy96:
+#line 561 "src/ast/lex.cc"
+yy101:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy102;
+ if (yych == 'r') goto yy108;
goto yy13;
-yy97:
+yy102:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy103;
+ if (yych == '2') goto yy109;
goto yy13;
-yy98:
+yy103:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy104;
+ if (yych == 'c') goto yy110;
goto yy13;
-yy99:
+yy104:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy112;
+ goto yy13;
+yy105:
++YYCURSOR;
#line 115 "../src/ast/lex.re"
{
out.wraw(tok, ptr);
- lex_tags(out);
+ lex_tags(out, false);
goto echo;
}
-#line 561 "src/ast/lex.cc"
-yy101:
+#line 586 "src/ast/lex.cc"
+yy107:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy106;
+ if (yych == 'c') goto yy113;
goto yy13;
-yy102:
+yy108:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy108;
+ if (yych == 'e') goto yy115;
goto yy13;
-yy103:
+yy109:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy109;
+ if (yych == 'c') goto yy116;
goto yy13;
-yy104:
+yy110:
++YYCURSOR;
#line 76 "../src/ast/lex.re"
{
out.wraw(tok, ptr);
return Rules;
}
-#line 581 "src/ast/lex.cc"
-yy106:
+#line 606 "src/ast/lex.cc"
+yy112:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy118;
+ goto yy13;
+yy113:
++YYCURSOR;
#line 106 "../src/ast/lex.re"
{
lex_end_of_comment(out);
goto echo;
}
-#line 593 "src/ast/lex.cc"
-yy108:
+#line 622 "src/ast/lex.cc"
+yy115:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy111;
+ if (yych == '2') goto yy119;
goto yy13;
-yy109:
+yy116:
++YYCURSOR;
#line 86 "../src/ast/lex.re"
{
lex_end_of_comment(out);
goto echo;
}
-#line 606 "src/ast/lex.cc"
-yy111:
+#line 635 "src/ast/lex.cc"
+yy118:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy120;
+ goto yy13;
+yy119:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy121;
+ goto yy13;
+yy120:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'c') goto yy13;
+ if (yych == 'c') goto yy123;
+ goto yy13;
+yy121:
++YYCURSOR;
#line 99 "../src/ast/lex.re"
{
lex_end_of_comment(out);
goto echo;
}
-#line 618 "src/ast/lex.cc"
+#line 657 "src/ast/lex.cc"
+yy123:
+ ++YYCURSOR;
+#line 121 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ lex_tags(out, true);
+ goto echo;
+ }
+#line 666 "src/ast/lex.cc"
}
-#line 139 "../src/ast/lex.re"
+#line 145 "../src/ast/lex.re"
}
{
uint32_t ignored = 0;
for (;;) {
-#line 628 "src/ast/lex.cc"
+#line 676 "src/ast/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '\f') {
- if (yych <= 0x00) goto yy116;
- if (yych == '\n') goto yy120;
- goto yy118;
+ if (yych <= 0x00) goto yy127;
+ if (yych == '\n') goto yy131;
+ goto yy129;
} else {
- if (yych <= '\r') goto yy122;
- if (yych == '*') goto yy123;
- goto yy118;
+ if (yych <= '\r') goto yy133;
+ if (yych == '*') goto yy134;
+ goto yy129;
}
-yy116:
+yy127:
++YYCURSOR;
-#line 146 "../src/ast/lex.re"
+#line 152 "../src/ast/lex.re"
{ fatal("expected end of block"); }
-#line 646 "src/ast/lex.cc"
-yy118:
+#line 694 "src/ast/lex.cc"
+yy129:
++YYCURSOR;
-yy119:
-#line 148 "../src/ast/lex.re"
+yy130:
+#line 154 "../src/ast/lex.re"
{ continue; }
-#line 652 "src/ast/lex.cc"
-yy120:
+#line 700 "src/ast/lex.cc"
+yy131:
++YYCURSOR;
-#line 149 "../src/ast/lex.re"
+#line 155 "../src/ast/lex.re"
{ ++ignored; continue; }
-#line 657 "src/ast/lex.cc"
-yy122:
+#line 705 "src/ast/lex.cc"
+yy133:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy120;
- goto yy119;
-yy123:
+ if (yych == '\n') goto yy131;
+ goto yy130;
+yy134:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != '/') goto yy119;
+ if (yych != '/') goto yy130;
++YYCURSOR;
-#line 150 "../src/ast/lex.re"
+#line 156 "../src/ast/lex.re"
{
if (ignored > 0) {
cline += ignored;
tok = pos = cur;
return;
}
-#line 675 "src/ast/lex.cc"
+#line 723 "src/ast/lex.cc"
}
-#line 158 "../src/ast/lex.re"
+#line 164 "../src/ast/lex.re"
}
}
-void Scanner::lex_tags(OutputFile &out)
+void Scanner::lex_tags(OutputFile &out, bool lists)
{
std::string fmt, sep;
for (;;) {
-#line 685 "src/ast/lex.cc"
+#line 733 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy130;
+ goto yy141;
}
if (yych <= ')') {
if (yych <= '\n') {
- if (yych >= '\t') goto yy133;
+ if (yych >= '\t') goto yy144;
} else {
- if (yych == '\r') goto yy135;
+ if (yych == '\r') goto yy146;
}
} else {
if (yych <= 'f') {
- if (yych <= '*') goto yy136;
- if (yych >= 'f') goto yy137;
+ if (yych <= '*') goto yy147;
+ if (yych >= 'f') goto yy148;
} else {
- if (yych == 's') goto yy138;
+ if (yych == 's') goto yy149;
}
}
++YYCURSOR;
-yy129:
-#line 165 "../src/ast/lex.re"
+yy140:
+#line 171 "../src/ast/lex.re"
{ fatal("unrecognized configuration"); }
-#line 745 "src/ast/lex.cc"
-yy130:
+#line 793 "src/ast/lex.cc"
+yy141:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy130;
+ goto yy141;
}
-#line 170 "../src/ast/lex.re"
+#line 176 "../src/ast/lex.re"
{ continue; }
-#line 755 "src/ast/lex.cc"
-yy133:
+#line 803 "src/ast/lex.cc"
+yy144:
++YYCURSOR;
-#line 171 "../src/ast/lex.re"
+#line 177 "../src/ast/lex.re"
{ ++cline; continue; }
-#line 760 "src/ast/lex.cc"
-yy135:
+#line 808 "src/ast/lex.cc"
+yy146:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy133;
- goto yy129;
-yy136:
+ if (yych == '\n') goto yy144;
+ goto yy140;
+yy147:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '/') goto yy139;
- goto yy129;
-yy137:
+ if (yych == '/') goto yy150;
+ goto yy140;
+yy148:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'o') goto yy141;
- goto yy129;
-yy138:
+ if (yych == 'o') goto yy152;
+ goto yy140;
+yy149:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy143;
- goto yy129;
-yy139:
+ if (yych == 'e') goto yy154;
+ goto yy140;
+yy150:
++YYCURSOR;
-#line 172 "../src/ast/lex.re"
+#line 178 "../src/ast/lex.re"
{
- out.wdelay_tags(new ConfTags(fmt, sep));
+ out.wdelay_tags(new ConfTags(fmt, sep), lists);
tok = pos = cur;
return;
}
-#line 785 "src/ast/lex.cc"
-yy141:
+#line 833 "src/ast/lex.cc"
+yy152:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy144;
-yy142:
+ if (yych == 'r') goto yy155;
+yy153:
YYCURSOR = YYMARKER;
- goto yy129;
-yy143:
+ goto yy140;
+yy154:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy145;
- goto yy142;
-yy144:
+ if (yych == 'p') goto yy156;
+ goto yy153;
+yy155:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy146;
- goto yy142;
-yy145:
+ if (yych == 'm') goto yy157;
+ goto yy153;
+yy156:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy147;
- goto yy142;
-yy146:
+ if (yych == 'a') goto yy158;
+ goto yy153;
+yy157:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy148;
- goto yy142;
-yy147:
+ if (yych == 'a') goto yy159;
+ goto yy153;
+yy158:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy149;
- goto yy142;
-yy148:
+ if (yych == 'r') goto yy160;
+ goto yy153;
+yy159:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy150;
- goto yy142;
-yy149:
+ if (yych == 't') goto yy161;
+ goto yy153;
+yy160:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy152;
- goto yy142;
-yy150:
+ if (yych == 'a') goto yy163;
+ goto yy153;
+yy161:
++YYCURSOR;
-#line 167 "../src/ast/lex.re"
+#line 173 "../src/ast/lex.re"
{ fmt = lex_conf_string(); continue; }
-#line 824 "src/ast/lex.cc"
-yy152:
+#line 872 "src/ast/lex.cc"
+yy163:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 't') goto yy142;
+ if (yych != 't') goto yy153;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'o') goto yy142;
+ if (yych != 'o') goto yy153;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'r') goto yy142;
+ if (yych != 'r') goto yy153;
++YYCURSOR;
-#line 168 "../src/ast/lex.re"
+#line 174 "../src/ast/lex.re"
{ sep = lex_conf_string(); continue; }
-#line 835 "src/ast/lex.cc"
+#line 883 "src/ast/lex.cc"
}
-#line 177 "../src/ast/lex.re"
+#line 183 "../src/ast/lex.re"
}
}
tchar = cur - pos;
tok = cur;
-#line 848 "src/ast/lex.cc"
+#line 896 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy161;
+ goto yy172;
}
if (yych <= '.') {
if (yych <= '#') {
if (yych <= '\r') {
- if (yych <= 0x08) goto yy159;
- if (yych <= '\n') goto yy164;
- if (yych >= '\r') goto yy166;
+ if (yych <= 0x08) goto yy170;
+ if (yych <= '\n') goto yy175;
+ if (yych >= '\r') goto yy177;
} else {
- if (yych <= 0x1F) goto yy159;
- if (yych <= '!') goto yy167;
- if (yych <= '"') goto yy169;
- goto yy171;
+ if (yych <= 0x1F) goto yy170;
+ if (yych <= '!') goto yy178;
+ if (yych <= '"') goto yy180;
+ goto yy182;
}
} else {
if (yych <= '\'') {
- if (yych == '%') goto yy172;
- if (yych >= '\'') goto yy173;
+ if (yych == '%') goto yy183;
+ if (yych >= '\'') goto yy184;
} else {
if (yych <= '*') {
- if (yych <= ')') goto yy167;
- goto yy175;
+ if (yych <= ')') goto yy178;
+ goto yy186;
} else {
- if (yych <= ',') goto yy167;
- if (yych >= '.') goto yy176;
+ if (yych <= ',') goto yy178;
+ if (yych >= '.') goto yy187;
}
}
}
} else {
if (yych <= '\\') {
if (yych <= '?') {
- if (yych <= '/') goto yy178;
- if (yych <= '9') goto yy179;
- if (yych <= ':') goto yy181;
- goto yy167;
+ if (yych <= '/') goto yy189;
+ if (yych <= '9') goto yy190;
+ if (yych <= ':') goto yy192;
+ goto yy178;
} else {
- if (yych <= '@') goto yy171;
- if (yych <= 'Z') goto yy179;
- if (yych <= '[') goto yy182;
- goto yy167;
+ if (yych <= '@') goto yy182;
+ if (yych <= 'Z') goto yy190;
+ if (yych <= '[') goto yy193;
+ goto yy178;
}
} else {
if (yych <= 'q') {
- if (yych == '_') goto yy179;
- if (yych >= 'a') goto yy179;
+ if (yych == '_') goto yy190;
+ if (yych >= 'a') goto yy190;
} else {
if (yych <= 'z') {
- if (yych <= 'r') goto yy184;
- goto yy179;
+ if (yych <= 'r') goto yy195;
+ goto yy190;
} else {
- if (yych <= '{') goto yy185;
- if (yych <= '|') goto yy167;
+ if (yych <= '{') goto yy196;
+ if (yych <= '|') goto yy178;
}
}
}
}
-yy159:
+yy170:
++YYCURSOR;
-yy160:
-#line 337 "../src/ast/lex.re"
+yy171:
+#line 343 "../src/ast/lex.re"
{
fatalf("unexpected character: '%c'", *tok);
goto scan;
}
-#line 953 "src/ast/lex.cc"
-yy161:
+#line 1001 "src/ast/lex.cc"
+yy172:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy161;
+ goto yy172;
}
-#line 316 "../src/ast/lex.re"
+#line 322 "../src/ast/lex.re"
{
goto scan;
}
-#line 965 "src/ast/lex.cc"
-yy164:
+#line 1013 "src/ast/lex.cc"
+yy175:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy187;
+ if (yych == '\t') goto yy198;
} else {
- if (yych <= ' ') goto yy187;
- if (yych == '#') goto yy190;
+ if (yych <= ' ') goto yy198;
+ if (yych == '#') goto yy201;
}
-yy165:
-#line 325 "../src/ast/lex.re"
+yy176:
+#line 331 "../src/ast/lex.re"
{
if (cur == eof) return 0;
pos = cur;
goto scan;
}
}
-#line 988 "src/ast/lex.cc"
-yy166:
+#line 1036 "src/ast/lex.cc"
+yy177:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy164;
- goto yy160;
-yy167:
+ if (yych == '\n') goto yy175;
+ goto yy171;
+yy178:
++YYCURSOR;
-yy168:
-#line 229 "../src/ast/lex.re"
+yy179:
+#line 235 "../src/ast/lex.re"
{ return *tok; }
-#line 998 "src/ast/lex.cc"
-yy169:
+#line 1046 "src/ast/lex.cc"
+yy180:
++YYCURSOR;
-#line 219 "../src/ast/lex.re"
+#line 225 "../src/ast/lex.re"
{ yylval.regexp = lex_str('"'); return TOKEN_REGEXP; }
-#line 1003 "src/ast/lex.cc"
-yy171:
+#line 1051 "src/ast/lex.cc"
+yy182:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy160;
- if (yych <= '9') goto yy192;
- if (yych <= '@') goto yy160;
- goto yy192;
+ if (yych <= '/') goto yy171;
+ if (yych <= '9') goto yy203;
+ if (yych <= '@') goto yy171;
+ goto yy203;
} else {
if (yych <= '_') {
- if (yych <= '^') goto yy160;
- goto yy192;
+ if (yych <= '^') goto yy171;
+ goto yy203;
} else {
- if (yych <= '`') goto yy160;
- if (yych <= 'z') goto yy192;
- goto yy160;
+ if (yych <= '`') goto yy171;
+ if (yych <= 'z') goto yy203;
+ goto yy171;
}
}
-yy172:
+yy183:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '}') goto yy195;
- goto yy160;
-yy173:
+ if (yych == '}') goto yy206;
+ goto yy171;
+yy184:
++YYCURSOR;
-#line 218 "../src/ast/lex.re"
+#line 224 "../src/ast/lex.re"
{ yylval.regexp = lex_str('\''); return TOKEN_REGEXP; }
-#line 1029 "src/ast/lex.cc"
-yy175:
+#line 1077 "src/ast/lex.cc"
+yy186:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '/') goto yy195;
- goto yy168;
-yy176:
+ if (yych == '/') goto yy206;
+ goto yy179;
+yy187:
++YYCURSOR;
-#line 311 "../src/ast/lex.re"
+#line 317 "../src/ast/lex.re"
{
yylval.regexp = ast_dot(cline, get_column());
return TOKEN_REGEXP;
}
-#line 1041 "src/ast/lex.cc"
-yy178:
+#line 1089 "src/ast/lex.cc"
+yy189:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '*') goto yy197;
- if (yych == '/') goto yy199;
- goto yy168;
-yy179:
+ if (yych == '*') goto yy208;
+ if (yych == '/') goto yy210;
+ goto yy179;
+yy190:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy180:
+yy191:
if (yybm[0+yych] & 32) {
- goto yy179;
+ goto yy190;
}
if (yych <= ' ') {
if (yych == '\t') {
YYCTXMARKER = YYCURSOR;
- goto yy203;
+ goto yy214;
}
- if (yych <= 0x1F) goto yy201;
+ if (yych <= 0x1F) goto yy212;
YYCTXMARKER = YYCURSOR;
- goto yy203;
+ goto yy214;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy201;
+ if (yych <= '+') goto yy212;
YYCTXMARKER = YYCURSOR;
- goto yy205;
+ goto yy216;
} else {
- if (yych <= '<') goto yy201;
+ if (yych <= '<') goto yy212;
if (yych <= '>') {
YYCTXMARKER = YYCURSOR;
- goto yy205;
+ goto yy216;
}
- goto yy201;
+ goto yy212;
}
}
-yy181:
+yy192:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '=') goto yy207;
- goto yy160;
-yy182:
+ if (yych == '=') goto yy218;
+ goto yy171;
+yy193:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '^') goto yy209;
-#line 220 "../src/ast/lex.re"
+ if (yych == '^') goto yy220;
+#line 226 "../src/ast/lex.re"
{ yylval.regexp = lex_cls(false); return TOKEN_REGEXP; }
-#line 1086 "src/ast/lex.cc"
-yy184:
+#line 1134 "src/ast/lex.cc"
+yy195:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy211;
- goto yy180;
-yy185:
+ if (yych == 'e') goto yy222;
+ goto yy191;
+yy196:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy214;
+ goto yy225;
}
if (yych <= 'Z') {
- if (yych == ',') goto yy212;
- if (yych >= 'A') goto yy216;
+ if (yych == ',') goto yy223;
+ if (yych >= 'A') goto yy227;
} else {
if (yych <= '_') {
- if (yych >= '_') goto yy216;
+ if (yych >= '_') goto yy227;
} else {
- if (yych <= '`') goto yy186;
- if (yych <= 'z') goto yy216;
+ if (yych <= '`') goto yy197;
+ if (yych <= 'z') goto yy227;
}
}
-yy186:
-#line 187 "../src/ast/lex.re"
+yy197:
+#line 193 "../src/ast/lex.re"
{
depth = 1;
code_line = cline;
goto code;
}
-#line 1115 "src/ast/lex.cc"
-yy187:
+#line 1163 "src/ast/lex.cc"
+yy198:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy187;
+ if (yych == '\t') goto yy198;
} else {
- if (yych <= ' ') goto yy187;
- if (yych == '#') goto yy190;
+ if (yych <= ' ') goto yy198;
+ if (yych == '#') goto yy201;
}
-yy189:
+yy200:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy165;
+ goto yy176;
} else {
- goto yy186;
+ goto yy197;
}
} else {
- goto yy213;
+ goto yy224;
}
-yy190:
+yy201:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy190;
- goto yy189;
+ if (yych == '\t') goto yy201;
+ goto yy200;
} else {
- if (yych <= ' ') goto yy190;
- if (yych == 'l') goto yy218;
- goto yy189;
+ if (yych <= ' ') goto yy201;
+ if (yych == 'l') goto yy229;
+ goto yy200;
}
-yy192:
+yy203:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy194;
- if (yych <= '9') goto yy192;
- if (yych >= 'A') goto yy192;
+ if (yych <= '/') goto yy205;
+ if (yych <= '9') goto yy203;
+ if (yych >= 'A') goto yy203;
} else {
if (yych <= '_') {
- if (yych >= '_') goto yy192;
+ if (yych >= '_') goto yy203;
} else {
- if (yych <= '`') goto yy194;
- if (yych <= 'z') goto yy192;
+ if (yych <= '`') goto yy205;
+ if (yych <= 'z') goto yy203;
}
}
-yy194:
-#line 223 "../src/ast/lex.re"
+yy205:
+#line 229 "../src/ast/lex.re"
{
const std::string *name = new std::string(tok + 1, tok_len() - 1);
yylval.regexp = ast_tag(cline, get_column(), name, tok[0] == '#');
return TOKEN_REGEXP;
}
-#line 1172 "src/ast/lex.cc"
-yy195:
+#line 1220 "src/ast/lex.cc"
+yy206:
++YYCURSOR;
-#line 213 "../src/ast/lex.re"
+#line 219 "../src/ast/lex.re"
{
tok = cur;
return 0;
}
-#line 1180 "src/ast/lex.cc"
-yy197:
+#line 1228 "src/ast/lex.cc"
+yy208:
++YYCURSOR;
-#line 207 "../src/ast/lex.re"
+#line 213 "../src/ast/lex.re"
{
depth = 1;
goto comment;
}
-#line 1188 "src/ast/lex.cc"
-yy199:
+#line 1236 "src/ast/lex.cc"
+yy210:
++YYCURSOR;
-#line 204 "../src/ast/lex.re"
+#line 210 "../src/ast/lex.re"
{
goto nextLine;
}
-#line 1195 "src/ast/lex.cc"
-yy201:
+#line 1243 "src/ast/lex.cc"
+yy212:
++YYCURSOR;
YYCURSOR -= 1;
-#line 294 "../src/ast/lex.re"
+#line 300 "../src/ast/lex.re"
{
if (!globopts->FFlag) {
yylval.str = new std::string (tok, tok_len());
return TOKEN_REGEXP;
}
}
-#line 1216 "src/ast/lex.cc"
-yy203:
+#line 1264 "src/ast/lex.cc"
+yy214:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= ' ') {
- if (yych == '\t') goto yy203;
- if (yych <= 0x1F) goto yy219;
- goto yy203;
+ if (yych == '\t') goto yy214;
+ if (yych <= 0x1F) goto yy230;
+ goto yy214;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy219;
+ if (yych <= '+') goto yy230;
} else {
- if (yych <= '<') goto yy219;
- if (yych >= '?') goto yy219;
+ if (yych <= '<') goto yy230;
+ if (yych >= '?') goto yy230;
}
}
-yy205:
+yy216:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 289 "../src/ast/lex.re"
+#line 295 "../src/ast/lex.re"
{
yylval.str = new std::string (tok, tok_len ());
return TOKEN_ID;
}
-#line 1241 "src/ast/lex.cc"
-yy207:
+#line 1289 "src/ast/lex.cc"
+yy218:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '>') goto yy221;
-#line 197 "../src/ast/lex.re"
+ if (yych == '>') goto yy232;
+#line 203 "../src/ast/lex.re"
{
tok += 2; /* skip ":=" */
depth = 0;
code_line = cline;
goto code;
}
-#line 1252 "src/ast/lex.cc"
-yy209:
+#line 1300 "src/ast/lex.cc"
+yy220:
++YYCURSOR;
-#line 221 "../src/ast/lex.re"
+#line 227 "../src/ast/lex.re"
{ yylval.regexp = lex_cls(true); return TOKEN_REGEXP; }
-#line 1257 "src/ast/lex.cc"
-yy211:
+#line 1305 "src/ast/lex.cc"
+yy222:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy223;
- goto yy180;
-yy212:
+ if (yych == '2') goto yy234;
+ goto yy191;
+yy223:
++YYCURSOR;
-yy213:
-#line 262 "../src/ast/lex.re"
+yy224:
+#line 268 "../src/ast/lex.re"
{
fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-#line 1269 "src/ast/lex.cc"
-yy214:
+#line 1317 "src/ast/lex.cc"
+yy225:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy214;
+ goto yy225;
}
if (yych <= '^') {
if (yych <= ',') {
- if (yych <= '+') goto yy189;
- goto yy224;
+ if (yych <= '+') goto yy200;
+ goto yy235;
} else {
- if (yych <= '@') goto yy189;
- if (yych >= '[') goto yy189;
+ if (yych <= '@') goto yy200;
+ if (yych >= '[') goto yy200;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy189;
+ if (yych == '`') goto yy200;
} else {
- if (yych == '}') goto yy225;
- goto yy189;
+ if (yych == '}') goto yy236;
+ goto yy200;
}
}
-yy216:
+yy227:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '^') {
if (yych <= '9') {
- if (yych <= '/') goto yy189;
- goto yy216;
+ if (yych <= '/') goto yy200;
+ goto yy227;
} else {
- if (yych <= '@') goto yy189;
- if (yych <= 'Z') goto yy216;
- goto yy189;
+ if (yych <= '@') goto yy200;
+ if (yych <= 'Z') goto yy227;
+ goto yy200;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy189;
- goto yy216;
+ if (yych == '`') goto yy200;
+ goto yy227;
} else {
- if (yych == '}') goto yy227;
- goto yy189;
+ if (yych == '}') goto yy238;
+ goto yy200;
}
}
-yy218:
+yy229:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy229;
- goto yy189;
-yy219:
+ if (yych == 'i') goto yy240;
+ goto yy200;
+yy230:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 276 "../src/ast/lex.re"
+#line 282 "../src/ast/lex.re"
{
yylval.str = new std::string (tok, tok_len ());
if (globopts->FFlag)
return TOKEN_ID;
}
}
-#line 1335 "src/ast/lex.cc"
-yy221:
+#line 1383 "src/ast/lex.cc"
+yy232:
++YYCURSOR;
YYCURSOR -= 2;
-#line 193 "../src/ast/lex.re"
+#line 199 "../src/ast/lex.re"
{
return *tok;
}
-#line 1343 "src/ast/lex.cc"
-yy223:
+#line 1391 "src/ast/lex.cc"
+yy234:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy230;
- goto yy180;
-yy224:
+ if (yych == 'c') goto yy241;
+ goto yy191;
+yy235:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy213;
- if (yych <= '9') goto yy231;
- if (yych == '}') goto yy233;
- goto yy213;
-yy225:
+ if (yych <= '/') goto yy224;
+ if (yych <= '9') goto yy242;
+ if (yych == '}') goto yy244;
+ goto yy224;
+yy236:
++YYCURSOR;
-#line 231 "../src/ast/lex.re"
+#line 237 "../src/ast/lex.re"
{
if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.bounds.min))
{
yylval.bounds.max = yylval.bounds.min;
return TOKEN_CLOSESIZE;
}
-#line 1366 "src/ast/lex.cc"
-yy227:
+#line 1414 "src/ast/lex.cc"
+yy238:
++YYCURSOR;
-#line 266 "../src/ast/lex.re"
+#line 272 "../src/ast/lex.re"
{
if (!globopts->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 1377 "src/ast/lex.cc"
-yy229:
+#line 1425 "src/ast/lex.cc"
+yy240:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy235;
- goto yy189;
-yy230:
+ if (yych == 'n') goto yy246;
+ goto yy200;
+yy241:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy236;
- goto yy180;
-yy231:
+ if (yych == ':') goto yy247;
+ goto yy191;
+yy242:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '/') goto yy189;
- if (yych <= '9') goto yy231;
- if (yych == '}') goto yy238;
- goto yy189;
-yy233:
+ if (yych <= '/') goto yy200;
+ if (yych <= '9') goto yy242;
+ if (yych == '}') goto yy249;
+ goto yy200;
+yy244:
++YYCURSOR;
-#line 253 "../src/ast/lex.re"
+#line 259 "../src/ast/lex.re"
{
if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.bounds.min))
{
yylval.bounds.max = std::numeric_limits<uint32_t>::max();
return TOKEN_CLOSESIZE;
}
-#line 1405 "src/ast/lex.cc"
-yy235:
+#line 1453 "src/ast/lex.cc"
+yy246:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy240;
- goto yy189;
-yy236:
+ if (yych == 'e') goto yy251;
+ goto yy200;
+yy247:
++YYCURSOR;
-#line 274 "../src/ast/lex.re"
+#line 280 "../src/ast/lex.re"
{ return TOKEN_CONF; }
-#line 1414 "src/ast/lex.cc"
-yy238:
+#line 1462 "src/ast/lex.cc"
+yy249:
++YYCURSOR;
-#line 240 "../src/ast/lex.re"
+#line 246 "../src/ast/lex.re"
{
const char * p = strchr (tok, ',');
if (!s_to_u32_unsafe (tok + 1, p, yylval.bounds.min))
}
return TOKEN_CLOSESIZE;
}
-#line 1430 "src/ast/lex.cc"
-yy240:
+#line 1478 "src/ast/lex.cc"
+yy251:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy242;
- if (yych <= '9') goto yy189;
- goto yy242;
-yy241:
+ if (yych <= '0') goto yy253;
+ if (yych <= '9') goto yy200;
+ goto yy253;
+yy252:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy242:
+yy253:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy241;
- goto yy189;
+ if (yych == '\t') goto yy252;
+ goto yy200;
} else {
- if (yych <= ' ') goto yy241;
- if (yych <= '0') goto yy189;
- if (yych >= ':') goto yy189;
+ if (yych <= ' ') goto yy252;
+ if (yych <= '0') goto yy200;
+ if (yych >= ':') goto yy200;
YYCTXMARKER = YYCURSOR;
}
-yy243:
+yy254:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy189;
+ if (yych <= 0x08) goto yy200;
} else {
- if (yych <= '\n') goto yy247;
- if (yych <= '\f') goto yy189;
- goto yy249;
+ if (yych <= '\n') goto yy258;
+ if (yych <= '\f') goto yy200;
+ goto yy260;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy189;
+ if (yych <= 0x1F) goto yy200;
} else {
- if (yych <= '/') goto yy189;
- if (yych <= '9') goto yy243;
- goto yy189;
+ if (yych <= '/') goto yy200;
+ if (yych <= '9') goto yy254;
+ goto yy200;
}
}
-yy245:
+yy256:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy245;
- goto yy189;
+ if (yych == '\t') goto yy256;
+ goto yy200;
} else {
- if (yych <= ' ') goto yy245;
- if (yych == '"') goto yy250;
- goto yy189;
+ if (yych <= ' ') goto yy256;
+ if (yych == '"') goto yy261;
+ goto yy200;
}
-yy247:
+yy258:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 320 "../src/ast/lex.re"
+#line 326 "../src/ast/lex.re"
{
set_sourceline ();
return TOKEN_LINE_INFO;
}
-#line 1491 "src/ast/lex.cc"
-yy249:
+#line 1539 "src/ast/lex.cc"
+yy260:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy247;
- goto yy189;
-yy250:
+ if (yych == '\n') goto yy258;
+ goto yy200;
+yy261:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy250;
+ goto yy261;
}
- if (yych <= '\n') goto yy189;
- if (yych >= '#') goto yy253;
+ if (yych <= '\n') goto yy200;
+ if (yych >= '#') goto yy264;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy247;
- if (yych == '\r') goto yy249;
- goto yy189;
-yy253:
+ if (yych == '\n') goto yy258;
+ if (yych == '\r') goto yy260;
+ goto yy200;
+yy264:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy189;
- goto yy250;
+ if (yych == '\n') goto yy200;
+ goto yy261;
}
-#line 341 "../src/ast/lex.re"
+#line 347 "../src/ast/lex.re"
code:
-#line 1521 "src/ast/lex.cc"
+#line 1569 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '&') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy256;
- if (yych <= '\t') goto yy258;
- goto yy260;
+ if (yych <= 0x00) goto yy267;
+ if (yych <= '\t') goto yy269;
+ goto yy271;
} else {
- if (yych == '"') goto yy262;
- goto yy258;
+ if (yych == '"') goto yy273;
+ goto yy269;
}
} else {
if (yych <= '{') {
- if (yych <= '\'') goto yy263;
- if (yych <= 'z') goto yy258;
- goto yy264;
+ if (yych <= '\'') goto yy274;
+ if (yych <= 'z') goto yy269;
+ goto yy275;
} else {
- if (yych == '}') goto yy266;
- goto yy258;
+ if (yych == '}') goto yy277;
+ goto yy269;
}
}
-yy256:
+yy267:
++YYCURSOR;
-#line 404 "../src/ast/lex.re"
+#line 410 "../src/ast/lex.re"
{
if (cur == eof)
{
}
goto code;
}
-#line 1594 "src/ast/lex.cc"
-yy258:
+#line 1642 "src/ast/lex.cc"
+yy269:
++YYCURSOR;
-yy259:
-#line 418 "../src/ast/lex.re"
+yy270:
+#line 424 "../src/ast/lex.re"
{
goto code;
}
-#line 1602 "src/ast/lex.cc"
-yy260:
+#line 1650 "src/ast/lex.cc"
+yy271:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= '\t') goto yy268;
+ if (yych >= '\t') goto yy279;
} else {
- if (yych <= '\n') goto yy270;
- if (yych >= '\r') goto yy270;
+ if (yych <= '\n') goto yy281;
+ if (yych >= '\r') goto yy281;
}
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy268;
+ if (yych >= ' ') goto yy279;
} else {
- if (yych == '#') goto yy271;
+ if (yych == '#') goto yy282;
}
}
-yy261:
-#line 385 "../src/ast/lex.re"
+yy272:
+#line 391 "../src/ast/lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1641 "src/ast/lex.cc"
-yy262:
+#line 1689 "src/ast/lex.cc"
+yy273:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy259;
- goto yy275;
-yy263:
+ if (yych == '\n') goto yy270;
+ goto yy286;
+yy274:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy259;
- goto yy280;
-yy264:
+ if (yych == '\n') goto yy270;
+ goto yy291;
+yy275:
++YYCURSOR;
-#line 357 "../src/ast/lex.re"
+#line 363 "../src/ast/lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1666 "src/ast/lex.cc"
-yy266:
+#line 1714 "src/ast/lex.cc"
+yy277:
++YYCURSOR;
-#line 345 "../src/ast/lex.re"
+#line 351 "../src/ast/lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1682 "src/ast/lex.cc"
-yy268:
+#line 1730 "src/ast/lex.cc"
+yy279:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy282;
+ if (yych == '\t') goto yy293;
} else {
- if (yych <= ' ') goto yy282;
- if (yych == '#') goto yy271;
+ if (yych <= ' ') goto yy293;
+ if (yych == '#') goto yy282;
}
-yy269:
+yy280:
YYCURSOR -= 1;
-#line 372 "../src/ast/lex.re"
+#line 378 "../src/ast/lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1708 "src/ast/lex.cc"
-yy270:
+#line 1756 "src/ast/lex.cc"
+yy281:
++YYCURSOR;
- goto yy269;
-yy271:
+ goto yy280;
+yy282:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy271;
+ goto yy282;
}
- if (yych == 'l') goto yy284;
-yy273:
+ if (yych == 'l') goto yy295;
+yy284:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy261;
+ goto yy272;
} else {
- goto yy259;
+ goto yy270;
}
} else {
- goto yy269;
+ goto yy280;
}
-yy274:
+yy285:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy275:
+yy286:
if (yybm[0+yych] & 32) {
- goto yy274;
+ goto yy285;
}
- if (yych <= '\n') goto yy273;
- if (yych >= '#') goto yy278;
-yy276:
+ if (yych <= '\n') goto yy284;
+ if (yych >= '#') goto yy289;
+yy287:
++YYCURSOR;
-#line 415 "../src/ast/lex.re"
+#line 421 "../src/ast/lex.re"
{
goto code;
}
-#line 1747 "src/ast/lex.cc"
-yy278:
+#line 1795 "src/ast/lex.cc"
+yy289:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy273;
- goto yy274;
-yy279:
+ if (yych == '\n') goto yy284;
+ goto yy285;
+yy290:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy280:
+yy291:
if (yybm[0+yych] & 64) {
- goto yy279;
+ goto yy290;
}
- if (yych <= '\n') goto yy273;
- if (yych <= '\'') goto yy276;
+ if (yych <= '\n') goto yy284;
+ if (yych <= '\'') goto yy287;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy273;
- goto yy279;
-yy282:
+ if (yych == '\n') goto yy284;
+ goto yy290;
+yy293:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy282;
- goto yy273;
+ if (yych == '\t') goto yy293;
+ goto yy284;
} else {
- if (yych <= ' ') goto yy282;
- if (yych == '#') goto yy271;
- goto yy273;
+ if (yych <= ' ') goto yy293;
+ if (yych == '#') goto yy282;
+ goto yy284;
}
-yy284:
+yy295:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'i') goto yy273;
+ if (yych != 'i') goto yy284;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'n') goto yy273;
+ if (yych != 'n') goto yy284;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy273;
+ if (yych != 'e') goto yy284;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy289;
- if (yych <= '9') goto yy273;
- goto yy289;
-yy288:
+ if (yych <= '0') goto yy300;
+ if (yych <= '9') goto yy284;
+ goto yy300;
+yy299:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy289:
+yy300:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy288;
- goto yy273;
+ if (yych == '\t') goto yy299;
+ goto yy284;
} else {
- if (yych <= ' ') goto yy288;
- if (yych <= '0') goto yy273;
- if (yych >= ':') goto yy273;
+ if (yych <= ' ') goto yy299;
+ if (yych <= '0') goto yy284;
+ if (yych >= ':') goto yy284;
YYCTXMARKER = YYCURSOR;
}
-yy290:
+yy301:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy290;
+ goto yy301;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy273;
- if (yych <= '\t') goto yy292;
- if (yych <= '\n') goto yy294;
- goto yy273;
+ if (yych <= 0x08) goto yy284;
+ if (yych <= '\t') goto yy303;
+ if (yych <= '\n') goto yy305;
+ goto yy284;
} else {
- if (yych <= '\r') goto yy296;
- if (yych != ' ') goto yy273;
+ if (yych <= '\r') goto yy307;
+ if (yych != ' ') goto yy284;
}
-yy292:
+yy303:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy292;
- goto yy273;
+ if (yych == '\t') goto yy303;
+ goto yy284;
} else {
- if (yych <= ' ') goto yy292;
- if (yych == '"') goto yy297;
- goto yy273;
+ if (yych <= ' ') goto yy303;
+ if (yych == '"') goto yy308;
+ goto yy284;
}
-yy294:
+yy305:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 368 "../src/ast/lex.re"
+#line 374 "../src/ast/lex.re"
{
set_sourceline ();
goto code;
}
-#line 1842 "src/ast/lex.cc"
-yy296:
+#line 1890 "src/ast/lex.cc"
+yy307:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy294;
- goto yy273;
-yy297:
+ if (yych == '\n') goto yy305;
+ goto yy284;
+yy308:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy273;
- goto yy297;
+ if (yych == '\n') goto yy284;
+ goto yy308;
} else {
- if (yych <= '"') goto yy299;
- if (yych == '\\') goto yy300;
- goto yy297;
+ if (yych <= '"') goto yy310;
+ if (yych == '\\') goto yy311;
+ goto yy308;
}
-yy299:
+yy310:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy294;
- if (yych == '\r') goto yy296;
- goto yy273;
-yy300:
+ if (yych == '\n') goto yy305;
+ if (yych == '\r') goto yy307;
+ goto yy284;
+yy311:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy273;
- goto yy297;
+ if (yych == '\n') goto yy284;
+ goto yy308;
}
-#line 421 "../src/ast/lex.re"
+#line 427 "../src/ast/lex.re"
comment:
-#line 1876 "src/ast/lex.cc"
+#line 1924 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= ')') {
- if (yych == '\n') goto yy305;
+ if (yych == '\n') goto yy316;
} else {
- if (yych <= '*') goto yy307;
- if (yych == '/') goto yy308;
+ if (yych <= '*') goto yy318;
+ if (yych == '/') goto yy319;
}
++YYCURSOR;
-yy304:
-#line 453 "../src/ast/lex.re"
+yy315:
+#line 459 "../src/ast/lex.re"
{
if (cur == eof)
{
}
goto comment;
}
-#line 1931 "src/ast/lex.cc"
-yy305:
+#line 1979 "src/ast/lex.cc"
+yy316:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy309;
+ goto yy320;
}
- if (yych == '#') goto yy312;
-yy306:
-#line 444 "../src/ast/lex.re"
+ if (yych == '#') goto yy323;
+yy317:
+#line 450 "../src/ast/lex.re"
{
if (cur == eof)
{
cline++;
goto comment;
}
-#line 1949 "src/ast/lex.cc"
-yy307:
+#line 1997 "src/ast/lex.cc"
+yy318:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '/') goto yy314;
- goto yy304;
-yy308:
+ if (yych == '/') goto yy325;
+ goto yy315;
+yy319:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '*') goto yy316;
- goto yy304;
-yy309:
+ if (yych == '*') goto yy327;
+ goto yy315;
+yy320:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy309;
+ goto yy320;
}
- if (yych == '#') goto yy312;
-yy311:
+ if (yych == '#') goto yy323;
+yy322:
YYCURSOR = YYMARKER;
- goto yy306;
-yy312:
+ goto yy317;
+yy323:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy312;
- goto yy311;
+ if (yych == '\t') goto yy323;
+ goto yy322;
} else {
- if (yych <= ' ') goto yy312;
- if (yych == 'l') goto yy318;
- goto yy311;
+ if (yych <= ' ') goto yy323;
+ if (yych == 'l') goto yy329;
+ goto yy322;
}
-yy314:
+yy325:
++YYCURSOR;
-#line 425 "../src/ast/lex.re"
+#line 431 "../src/ast/lex.re"
{
if (--depth == 0)
{
goto comment;
}
}
-#line 1994 "src/ast/lex.cc"
-yy316:
+#line 2042 "src/ast/lex.cc"
+yy327:
++YYCURSOR;
-#line 435 "../src/ast/lex.re"
+#line 441 "../src/ast/lex.re"
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-#line 2003 "src/ast/lex.cc"
-yy318:
+#line 2051 "src/ast/lex.cc"
+yy329:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'i') goto yy311;
+ if (yych != 'i') goto yy322;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'n') goto yy311;
+ if (yych != 'n') goto yy322;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy311;
+ if (yych != 'e') goto yy322;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy323;
- if (yych <= '9') goto yy311;
- goto yy323;
-yy322:
+ if (yych <= '0') goto yy334;
+ if (yych <= '9') goto yy322;
+ goto yy334;
+yy333:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy323:
+yy334:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy322;
- goto yy311;
+ if (yych == '\t') goto yy333;
+ goto yy322;
} else {
- if (yych <= ' ') goto yy322;
- if (yych <= '0') goto yy311;
- if (yych >= ':') goto yy311;
+ if (yych <= ' ') goto yy333;
+ if (yych <= '0') goto yy322;
+ if (yych >= ':') goto yy322;
YYCTXMARKER = YYCURSOR;
}
-yy324:
+yy335:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy324;
+ goto yy335;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy311;
- if (yych <= '\t') goto yy326;
- if (yych <= '\n') goto yy328;
- goto yy311;
+ if (yych <= 0x08) goto yy322;
+ if (yych <= '\t') goto yy337;
+ if (yych <= '\n') goto yy339;
+ goto yy322;
} else {
- if (yych <= '\r') goto yy330;
- if (yych != ' ') goto yy311;
+ if (yych <= '\r') goto yy341;
+ if (yych != ' ') goto yy322;
}
-yy326:
+yy337:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy326;
- goto yy311;
+ if (yych == '\t') goto yy337;
+ goto yy322;
} else {
- if (yych <= ' ') goto yy326;
- if (yych == '"') goto yy331;
- goto yy311;
+ if (yych <= ' ') goto yy337;
+ if (yych == '"') goto yy342;
+ goto yy322;
}
-yy328:
+yy339:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 440 "../src/ast/lex.re"
+#line 446 "../src/ast/lex.re"
{
set_sourceline ();
goto comment;
}
-#line 2065 "src/ast/lex.cc"
-yy330:
+#line 2113 "src/ast/lex.cc"
+yy341:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy328;
- goto yy311;
-yy331:
+ if (yych == '\n') goto yy339;
+ goto yy322;
+yy342:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy331;
+ goto yy342;
}
- if (yych <= '\n') goto yy311;
- if (yych >= '#') goto yy334;
+ if (yych <= '\n') goto yy322;
+ if (yych >= '#') goto yy345;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy328;
- if (yych == '\r') goto yy330;
- goto yy311;
-yy334:
+ if (yych == '\n') goto yy339;
+ if (yych == '\r') goto yy341;
+ goto yy322;
+yy345:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy311;
- goto yy331;
+ if (yych == '\n') goto yy322;
+ goto yy342;
}
-#line 460 "../src/ast/lex.re"
+#line 466 "../src/ast/lex.re"
nextLine:
-#line 2095 "src/ast/lex.cc"
+#line 2143 "src/ast/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy339;
+ if (yych == '\n') goto yy350;
++YYCURSOR;
-#line 471 "../src/ast/lex.re"
+#line 477 "../src/ast/lex.re"
{ if(cur == eof) {
return 0;
}
goto nextLine;
}
-#line 2108 "src/ast/lex.cc"
-yy339:
+#line 2156 "src/ast/lex.cc"
+yy350:
++YYCURSOR;
-#line 464 "../src/ast/lex.re"
+#line 470 "../src/ast/lex.re"
{ if(cur == eof) {
return 0;
}
cline++;
goto scan;
}
-#line 2119 "src/ast/lex.cc"
+#line 2167 "src/ast/lex.cc"
}
-#line 476 "../src/ast/lex.re"
+#line 482 "../src/ast/lex.re"
}
tok = cur;
c = get_column();
-#line 2147 "src/ast/lex.cc"
+#line 2195 "src/ast/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == ']') goto yy344;
-#line 502 "../src/ast/lex.re"
+ if (yych == ']') goto yy355;
+#line 508 "../src/ast/lex.re"
{ l = lex_cls_chr(); goto snd; }
-#line 2155 "src/ast/lex.cc"
-yy344:
+#line 2203 "src/ast/lex.cc"
+yy355:
++YYCURSOR;
-#line 501 "../src/ast/lex.re"
+#line 507 "../src/ast/lex.re"
{ return ast_cls(cline, c0, cls, neg); }
-#line 2160 "src/ast/lex.cc"
+#line 2208 "src/ast/lex.cc"
}
-#line 503 "../src/ast/lex.re"
+#line 509 "../src/ast/lex.re"
snd:
-#line 2166 "src/ast/lex.cc"
+#line 2214 "src/ast/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*(YYMARKER = YYCURSOR);
- if (yych == '-') goto yy349;
-yy348:
-#line 506 "../src/ast/lex.re"
+ if (yych == '-') goto yy360;
+yy359:
+#line 512 "../src/ast/lex.re"
{ u = l; goto add; }
-#line 2175 "src/ast/lex.cc"
-yy349:
+#line 2223 "src/ast/lex.cc"
+yy360:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != ']') goto yy351;
+ if (yych != ']') goto yy362;
YYCURSOR = YYMARKER;
- goto yy348;
-yy351:
+ goto yy359;
+yy362:
++YYCURSOR;
YYCURSOR -= 1;
-#line 507 "../src/ast/lex.re"
+#line 513 "../src/ast/lex.re"
{
u = lex_cls_chr();
if (l > u) {
}
goto add;
}
-#line 2193 "src/ast/lex.cc"
+#line 2241 "src/ast/lex.cc"
}
-#line 515 "../src/ast/lex.re"
+#line 521 "../src/ast/lex.re"
add:
cls->push_back(ASTRange(l, u, c));
{
tok = cur;
-#line 2206 "src/ast/lex.cc"
+#line 2254 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy357;
- if (yych == '\\') goto yy359;
+ if (yych == '\n') goto yy368;
+ if (yych == '\\') goto yy370;
++YYCURSOR;
-#line 530 "../src/ast/lex.re"
+#line 536 "../src/ast/lex.re"
{ return static_cast<uint8_t>(tok[0]); }
-#line 2217 "src/ast/lex.cc"
-yy357:
+#line 2265 "src/ast/lex.cc"
+yy368:
++YYCURSOR;
-#line 525 "../src/ast/lex.re"
+#line 531 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error"); }
-#line 2222 "src/ast/lex.cc"
-yy359:
+#line 2270 "src/ast/lex.cc"
+yy370:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '`') {
if (yych <= '7') {
if (yych <= ',') {
- if (yych != '\n') goto yy361;
+ if (yych != '\n') goto yy372;
} else {
- if (yych <= '-') goto yy363;
- if (yych <= '/') goto yy361;
- if (yych <= '3') goto yy365;
- goto yy367;
+ if (yych <= '-') goto yy374;
+ if (yych <= '/') goto yy372;
+ if (yych <= '3') goto yy376;
+ goto yy378;
}
} else {
if (yych <= 'X') {
- if (yych == 'U') goto yy368;
- if (yych <= 'W') goto yy361;
- goto yy370;
+ if (yych == 'U') goto yy379;
+ if (yych <= 'W') goto yy372;
+ goto yy381;
} else {
- if (yych <= '[') goto yy361;
- if (yych <= '\\') goto yy371;
- if (yych <= ']') goto yy373;
- goto yy361;
+ if (yych <= '[') goto yy372;
+ if (yych <= '\\') goto yy382;
+ if (yych <= ']') goto yy384;
+ goto yy372;
}
}
} else {
if (yych <= 'q') {
if (yych <= 'e') {
- if (yych <= 'a') goto yy375;
- if (yych <= 'b') goto yy377;
- goto yy361;
+ if (yych <= 'a') goto yy386;
+ if (yych <= 'b') goto yy388;
+ goto yy372;
} else {
- if (yych <= 'f') goto yy379;
- if (yych == 'n') goto yy381;
- goto yy361;
+ if (yych <= 'f') goto yy390;
+ if (yych == 'n') goto yy392;
+ goto yy372;
}
} else {
if (yych <= 'u') {
- if (yych <= 'r') goto yy383;
- if (yych <= 's') goto yy361;
- if (yych <= 't') goto yy385;
- goto yy370;
+ if (yych <= 'r') goto yy394;
+ if (yych <= 's') goto yy372;
+ if (yych <= 't') goto yy396;
+ goto yy381;
} else {
- if (yych <= 'v') goto yy387;
- if (yych == 'x') goto yy389;
- goto yy361;
+ if (yych <= 'v') goto yy398;
+ if (yych == 'x') goto yy400;
+ goto yy372;
}
}
}
-#line 528 "../src/ast/lex.re"
+#line 534 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in escape sequence"); }
-#line 2273 "src/ast/lex.cc"
-yy361:
+#line 2321 "src/ast/lex.cc"
+yy372:
++YYCURSOR;
-#line 543 "../src/ast/lex.re"
+#line 549 "../src/ast/lex.re"
{
warn.useless_escape(cline, get_column(), tok[1]);
return static_cast<uint8_t>(tok[1]);
}
-#line 2281 "src/ast/lex.cc"
-yy363:
+#line 2329 "src/ast/lex.cc"
+yy374:
++YYCURSOR;
-#line 541 "../src/ast/lex.re"
+#line 547 "../src/ast/lex.re"
{ return static_cast<uint8_t>('-'); }
-#line 2286 "src/ast/lex.cc"
-yy365:
+#line 2334 "src/ast/lex.cc"
+yy376:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy366;
- if (yych <= '7') goto yy390;
-yy366:
-#line 527 "../src/ast/lex.re"
+ if (yych <= '/') goto yy377;
+ if (yych <= '7') goto yy401;
+yy377:
+#line 533 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in octal escape sequence"); }
-#line 2295 "src/ast/lex.cc"
-yy367:
+#line 2343 "src/ast/lex.cc"
+yy378:
++YYCURSOR;
- goto yy366;
-yy368:
+ goto yy377;
+yy379:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy369;
- if (yych <= '9') goto yy392;
+ if (yych <= '/') goto yy380;
+ if (yych <= '9') goto yy403;
} else {
- if (yych <= 'F') goto yy392;
- if (yych <= '`') goto yy369;
- if (yych <= 'f') goto yy392;
+ if (yych <= 'F') goto yy403;
+ if (yych <= '`') goto yy380;
+ if (yych <= 'f') goto yy403;
}
-yy369:
-#line 526 "../src/ast/lex.re"
+yy380:
+#line 532 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2313 "src/ast/lex.cc"
-yy370:
+#line 2361 "src/ast/lex.cc"
+yy381:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy369;
- if (yych <= '9') goto yy393;
- goto yy369;
+ if (yych <= '/') goto yy380;
+ if (yych <= '9') goto yy404;
+ goto yy380;
} else {
- if (yych <= 'F') goto yy393;
- if (yych <= '`') goto yy369;
- if (yych <= 'f') goto yy393;
- goto yy369;
+ if (yych <= 'F') goto yy404;
+ if (yych <= '`') goto yy380;
+ if (yych <= 'f') goto yy404;
+ goto yy380;
}
-yy371:
+yy382:
++YYCURSOR;
-#line 540 "../src/ast/lex.re"
+#line 546 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2331 "src/ast/lex.cc"
-yy373:
+#line 2379 "src/ast/lex.cc"
+yy384:
++YYCURSOR;
-#line 542 "../src/ast/lex.re"
+#line 548 "../src/ast/lex.re"
{ return static_cast<uint8_t>(']'); }
-#line 2336 "src/ast/lex.cc"
-yy375:
+#line 2384 "src/ast/lex.cc"
+yy386:
++YYCURSOR;
-#line 533 "../src/ast/lex.re"
+#line 539 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2341 "src/ast/lex.cc"
-yy377:
+#line 2389 "src/ast/lex.cc"
+yy388:
++YYCURSOR;
-#line 534 "../src/ast/lex.re"
+#line 540 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2346 "src/ast/lex.cc"
-yy379:
+#line 2394 "src/ast/lex.cc"
+yy390:
++YYCURSOR;
-#line 535 "../src/ast/lex.re"
+#line 541 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2351 "src/ast/lex.cc"
-yy381:
+#line 2399 "src/ast/lex.cc"
+yy392:
++YYCURSOR;
-#line 536 "../src/ast/lex.re"
+#line 542 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2356 "src/ast/lex.cc"
-yy383:
+#line 2404 "src/ast/lex.cc"
+yy394:
++YYCURSOR;
-#line 537 "../src/ast/lex.re"
+#line 543 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2361 "src/ast/lex.cc"
-yy385:
+#line 2409 "src/ast/lex.cc"
+yy396:
++YYCURSOR;
-#line 538 "../src/ast/lex.re"
+#line 544 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2366 "src/ast/lex.cc"
-yy387:
+#line 2414 "src/ast/lex.cc"
+yy398:
++YYCURSOR;
-#line 539 "../src/ast/lex.re"
+#line 545 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2371 "src/ast/lex.cc"
-yy389:
+#line 2419 "src/ast/lex.cc"
+yy400:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy369;
- if (yych <= '9') goto yy394;
- goto yy369;
+ if (yych <= '/') goto yy380;
+ if (yych <= '9') goto yy405;
+ goto yy380;
} else {
- if (yych <= 'F') goto yy394;
- if (yych <= '`') goto yy369;
- if (yych <= 'f') goto yy394;
- goto yy369;
+ if (yych <= 'F') goto yy405;
+ if (yych <= '`') goto yy380;
+ if (yych <= 'f') goto yy405;
+ goto yy380;
}
-yy390:
+yy401:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy391;
- if (yych <= '7') goto yy395;
-yy391:
+ if (yych <= '/') goto yy402;
+ if (yych <= '7') goto yy406;
+yy402:
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
- goto yy366;
+ goto yy377;
} else {
- goto yy369;
+ goto yy380;
}
-yy392:
+yy403:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy391;
- if (yych <= '9') goto yy397;
- goto yy391;
+ if (yych <= '/') goto yy402;
+ if (yych <= '9') goto yy408;
+ goto yy402;
} else {
- if (yych <= 'F') goto yy397;
- if (yych <= '`') goto yy391;
- if (yych <= 'f') goto yy397;
- goto yy391;
+ if (yych <= 'F') goto yy408;
+ if (yych <= '`') goto yy402;
+ if (yych <= 'f') goto yy408;
+ goto yy402;
}
-yy393:
+yy404:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy391;
- if (yych <= '9') goto yy398;
- goto yy391;
+ if (yych <= '/') goto yy402;
+ if (yych <= '9') goto yy409;
+ goto yy402;
} else {
- if (yych <= 'F') goto yy398;
- if (yych <= '`') goto yy391;
- if (yych <= 'f') goto yy398;
- goto yy391;
+ if (yych <= 'F') goto yy409;
+ if (yych <= '`') goto yy402;
+ if (yych <= 'f') goto yy409;
+ goto yy402;
}
-yy394:
+yy405:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy391;
- if (yych <= '9') goto yy399;
- goto yy391;
+ if (yych <= '/') goto yy402;
+ if (yych <= '9') goto yy410;
+ goto yy402;
} else {
- if (yych <= 'F') goto yy399;
- if (yych <= '`') goto yy391;
- if (yych <= 'f') goto yy399;
- goto yy391;
+ if (yych <= 'F') goto yy410;
+ if (yych <= '`') goto yy402;
+ if (yych <= 'f') goto yy410;
+ goto yy402;
}
-yy395:
+yy406:
++YYCURSOR;
-#line 532 "../src/ast/lex.re"
+#line 538 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2436 "src/ast/lex.cc"
-yy397:
+#line 2484 "src/ast/lex.cc"
+yy408:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy391;
- if (yych <= '9') goto yy401;
- goto yy391;
+ if (yych <= '/') goto yy402;
+ if (yych <= '9') goto yy412;
+ goto yy402;
} else {
- if (yych <= 'F') goto yy401;
- if (yych <= '`') goto yy391;
- if (yych <= 'f') goto yy401;
- goto yy391;
+ if (yych <= 'F') goto yy412;
+ if (yych <= '`') goto yy402;
+ if (yych <= 'f') goto yy412;
+ goto yy402;
}
-yy398:
+yy409:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy391;
- if (yych <= '9') goto yy394;
- goto yy391;
+ if (yych <= '/') goto yy402;
+ if (yych <= '9') goto yy405;
+ goto yy402;
} else {
- if (yych <= 'F') goto yy394;
- if (yych <= '`') goto yy391;
- if (yych <= 'f') goto yy394;
- goto yy391;
+ if (yych <= 'F') goto yy405;
+ if (yych <= '`') goto yy402;
+ if (yych <= 'f') goto yy405;
+ goto yy402;
}
-yy399:
+yy410:
++YYCURSOR;
-#line 531 "../src/ast/lex.re"
+#line 537 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2465 "src/ast/lex.cc"
-yy401:
+#line 2513 "src/ast/lex.cc"
+yy412:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy391;
- if (yych >= ':') goto yy391;
+ if (yych <= '/') goto yy402;
+ if (yych >= ':') goto yy402;
} else {
- if (yych <= 'F') goto yy402;
- if (yych <= '`') goto yy391;
- if (yych >= 'g') goto yy391;
+ if (yych <= 'F') goto yy413;
+ if (yych <= '`') goto yy402;
+ if (yych >= 'g') goto yy402;
}
-yy402:
+yy413:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy391;
- if (yych <= '9') goto yy393;
- goto yy391;
+ if (yych <= '/') goto yy402;
+ if (yych <= '9') goto yy404;
+ goto yy402;
} else {
- if (yych <= 'F') goto yy393;
- if (yych <= '`') goto yy391;
- if (yych <= 'f') goto yy393;
- goto yy391;
+ if (yych <= 'F') goto yy404;
+ if (yych <= '`') goto yy402;
+ if (yych <= 'f') goto yy404;
+ goto yy402;
}
}
-#line 547 "../src/ast/lex.re"
+#line 553 "../src/ast/lex.re"
}
end = false;
tok = cur;
-#line 2498 "src/ast/lex.cc"
+#line 2546 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy407;
- if (yych == '\\') goto yy409;
+ if (yych == '\n') goto yy418;
+ if (yych == '\\') goto yy420;
++YYCURSOR;
-#line 560 "../src/ast/lex.re"
+#line 566 "../src/ast/lex.re"
{
end = tok[0] == quote;
return static_cast<uint8_t>(tok[0]);
}
-#line 2512 "src/ast/lex.cc"
-yy407:
+#line 2560 "src/ast/lex.cc"
+yy418:
++YYCURSOR;
-#line 555 "../src/ast/lex.re"
+#line 561 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error"); }
-#line 2517 "src/ast/lex.cc"
-yy409:
+#line 2565 "src/ast/lex.cc"
+yy420:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 'a') {
if (yych <= 'T') {
if (yych <= '/') {
- if (yych != '\n') goto yy411;
+ if (yych != '\n') goto yy422;
} else {
- if (yych <= '3') goto yy413;
- if (yych <= '7') goto yy415;
- goto yy411;
+ if (yych <= '3') goto yy424;
+ if (yych <= '7') goto yy426;
+ goto yy422;
}
} else {
if (yych <= 'X') {
- if (yych <= 'U') goto yy416;
- if (yych <= 'W') goto yy411;
- goto yy418;
+ if (yych <= 'U') goto yy427;
+ if (yych <= 'W') goto yy422;
+ goto yy429;
} else {
- if (yych == '\\') goto yy419;
- if (yych <= '`') goto yy411;
- goto yy421;
+ if (yych == '\\') goto yy430;
+ if (yych <= '`') goto yy422;
+ goto yy432;
}
}
} else {
if (yych <= 'r') {
if (yych <= 'f') {
- if (yych <= 'b') goto yy423;
- if (yych <= 'e') goto yy411;
- goto yy425;
+ if (yych <= 'b') goto yy434;
+ if (yych <= 'e') goto yy422;
+ goto yy436;
} else {
- if (yych == 'n') goto yy427;
- if (yych <= 'q') goto yy411;
- goto yy429;
+ if (yych == 'n') goto yy438;
+ if (yych <= 'q') goto yy422;
+ goto yy440;
}
} else {
if (yych <= 'u') {
- if (yych <= 's') goto yy411;
- if (yych <= 't') goto yy431;
- goto yy418;
+ if (yych <= 's') goto yy422;
+ if (yych <= 't') goto yy442;
+ goto yy429;
} else {
- if (yych <= 'v') goto yy433;
- if (yych == 'x') goto yy435;
- goto yy411;
+ if (yych <= 'v') goto yy444;
+ if (yych == 'x') goto yy446;
+ goto yy422;
}
}
}
-#line 558 "../src/ast/lex.re"
+#line 564 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in escape sequence"); }
-#line 2565 "src/ast/lex.cc"
-yy411:
+#line 2613 "src/ast/lex.cc"
+yy422:
++YYCURSOR;
-#line 574 "../src/ast/lex.re"
+#line 580 "../src/ast/lex.re"
{
if (tok[1] != quote) {
warn.useless_escape(cline, get_column(), tok[1]);
}
return static_cast<uint8_t>(tok[1]);
}
-#line 2575 "src/ast/lex.cc"
-yy413:
+#line 2623 "src/ast/lex.cc"
+yy424:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy414;
- if (yych <= '7') goto yy436;
-yy414:
-#line 557 "../src/ast/lex.re"
+ if (yych <= '/') goto yy425;
+ if (yych <= '7') goto yy447;
+yy425:
+#line 563 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in octal escape sequence"); }
-#line 2584 "src/ast/lex.cc"
-yy415:
+#line 2632 "src/ast/lex.cc"
+yy426:
++YYCURSOR;
- goto yy414;
-yy416:
+ goto yy425;
+yy427:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy417;
- if (yych <= '9') goto yy438;
+ if (yych <= '/') goto yy428;
+ if (yych <= '9') goto yy449;
} else {
- if (yych <= 'F') goto yy438;
- if (yych <= '`') goto yy417;
- if (yych <= 'f') goto yy438;
+ if (yych <= 'F') goto yy449;
+ if (yych <= '`') goto yy428;
+ if (yych <= 'f') goto yy449;
}
-yy417:
-#line 556 "../src/ast/lex.re"
+yy428:
+#line 562 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2602 "src/ast/lex.cc"
-yy418:
+#line 2650 "src/ast/lex.cc"
+yy429:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy417;
- if (yych <= '9') goto yy439;
- goto yy417;
+ if (yych <= '/') goto yy428;
+ if (yych <= '9') goto yy450;
+ goto yy428;
} else {
- if (yych <= 'F') goto yy439;
- if (yych <= '`') goto yy417;
- if (yych <= 'f') goto yy439;
- goto yy417;
+ if (yych <= 'F') goto yy450;
+ if (yych <= '`') goto yy428;
+ if (yych <= 'f') goto yy450;
+ goto yy428;
}
-yy419:
+yy430:
++YYCURSOR;
-#line 573 "../src/ast/lex.re"
+#line 579 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2620 "src/ast/lex.cc"
-yy421:
+#line 2668 "src/ast/lex.cc"
+yy432:
++YYCURSOR;
-#line 566 "../src/ast/lex.re"
+#line 572 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2625 "src/ast/lex.cc"
-yy423:
+#line 2673 "src/ast/lex.cc"
+yy434:
++YYCURSOR;
-#line 567 "../src/ast/lex.re"
+#line 573 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2630 "src/ast/lex.cc"
-yy425:
+#line 2678 "src/ast/lex.cc"
+yy436:
++YYCURSOR;
-#line 568 "../src/ast/lex.re"
+#line 574 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2635 "src/ast/lex.cc"
-yy427:
+#line 2683 "src/ast/lex.cc"
+yy438:
++YYCURSOR;
-#line 569 "../src/ast/lex.re"
+#line 575 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2640 "src/ast/lex.cc"
-yy429:
+#line 2688 "src/ast/lex.cc"
+yy440:
++YYCURSOR;
-#line 570 "../src/ast/lex.re"
+#line 576 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2645 "src/ast/lex.cc"
-yy431:
+#line 2693 "src/ast/lex.cc"
+yy442:
++YYCURSOR;
-#line 571 "../src/ast/lex.re"
+#line 577 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2650 "src/ast/lex.cc"
-yy433:
+#line 2698 "src/ast/lex.cc"
+yy444:
++YYCURSOR;
-#line 572 "../src/ast/lex.re"
+#line 578 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2655 "src/ast/lex.cc"
-yy435:
+#line 2703 "src/ast/lex.cc"
+yy446:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy417;
- if (yych <= '9') goto yy440;
- goto yy417;
+ if (yych <= '/') goto yy428;
+ if (yych <= '9') goto yy451;
+ goto yy428;
} else {
- if (yych <= 'F') goto yy440;
- if (yych <= '`') goto yy417;
- if (yych <= 'f') goto yy440;
- goto yy417;
+ if (yych <= 'F') goto yy451;
+ if (yych <= '`') goto yy428;
+ if (yych <= 'f') goto yy451;
+ goto yy428;
}
-yy436:
+yy447:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy437;
- if (yych <= '7') goto yy441;
-yy437:
+ if (yych <= '/') goto yy448;
+ if (yych <= '7') goto yy452;
+yy448:
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
- goto yy414;
+ goto yy425;
} else {
- goto yy417;
+ goto yy428;
}
-yy438:
+yy449:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy437;
- if (yych <= '9') goto yy443;
- goto yy437;
+ if (yych <= '/') goto yy448;
+ if (yych <= '9') goto yy454;
+ goto yy448;
} else {
- if (yych <= 'F') goto yy443;
- if (yych <= '`') goto yy437;
- if (yych <= 'f') goto yy443;
- goto yy437;
+ if (yych <= 'F') goto yy454;
+ if (yych <= '`') goto yy448;
+ if (yych <= 'f') goto yy454;
+ goto yy448;
}
-yy439:
+yy450:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy437;
- if (yych <= '9') goto yy444;
- goto yy437;
+ if (yych <= '/') goto yy448;
+ if (yych <= '9') goto yy455;
+ goto yy448;
} else {
- if (yych <= 'F') goto yy444;
- if (yych <= '`') goto yy437;
- if (yych <= 'f') goto yy444;
- goto yy437;
+ if (yych <= 'F') goto yy455;
+ if (yych <= '`') goto yy448;
+ if (yych <= 'f') goto yy455;
+ goto yy448;
}
-yy440:
+yy451:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy437;
- if (yych <= '9') goto yy445;
- goto yy437;
+ if (yych <= '/') goto yy448;
+ if (yych <= '9') goto yy456;
+ goto yy448;
} else {
- if (yych <= 'F') goto yy445;
- if (yych <= '`') goto yy437;
- if (yych <= 'f') goto yy445;
- goto yy437;
+ if (yych <= 'F') goto yy456;
+ if (yych <= '`') goto yy448;
+ if (yych <= 'f') goto yy456;
+ goto yy448;
}
-yy441:
+yy452:
++YYCURSOR;
-#line 565 "../src/ast/lex.re"
+#line 571 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2720 "src/ast/lex.cc"
-yy443:
+#line 2768 "src/ast/lex.cc"
+yy454:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy437;
- if (yych <= '9') goto yy447;
- goto yy437;
+ if (yych <= '/') goto yy448;
+ if (yych <= '9') goto yy458;
+ goto yy448;
} else {
- if (yych <= 'F') goto yy447;
- if (yych <= '`') goto yy437;
- if (yych <= 'f') goto yy447;
- goto yy437;
+ if (yych <= 'F') goto yy458;
+ if (yych <= '`') goto yy448;
+ if (yych <= 'f') goto yy458;
+ goto yy448;
}
-yy444:
+yy455:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy437;
- if (yych <= '9') goto yy440;
- goto yy437;
+ if (yych <= '/') goto yy448;
+ if (yych <= '9') goto yy451;
+ goto yy448;
} else {
- if (yych <= 'F') goto yy440;
- if (yych <= '`') goto yy437;
- if (yych <= 'f') goto yy440;
- goto yy437;
+ if (yych <= 'F') goto yy451;
+ if (yych <= '`') goto yy448;
+ if (yych <= 'f') goto yy451;
+ goto yy448;
}
-yy445:
+yy456:
++YYCURSOR;
-#line 564 "../src/ast/lex.re"
+#line 570 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2749 "src/ast/lex.cc"
-yy447:
+#line 2797 "src/ast/lex.cc"
+yy458:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy437;
- if (yych >= ':') goto yy437;
+ if (yych <= '/') goto yy448;
+ if (yych >= ':') goto yy448;
} else {
- if (yych <= 'F') goto yy448;
- if (yych <= '`') goto yy437;
- if (yych >= 'g') goto yy437;
+ if (yych <= 'F') goto yy459;
+ if (yych <= '`') goto yy448;
+ if (yych >= 'g') goto yy448;
}
-yy448:
+yy459:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy437;
- if (yych <= '9') goto yy439;
- goto yy437;
+ if (yych <= '/') goto yy448;
+ if (yych <= '9') goto yy450;
+ goto yy448;
} else {
- if (yych <= 'F') goto yy439;
- if (yych <= '`') goto yy437;
- if (yych <= 'f') goto yy439;
- goto yy437;
+ if (yych <= 'F') goto yy450;
+ if (yych <= '`') goto yy448;
+ if (yych <= 'f') goto yy450;
+ goto yy448;
}
}
-#line 580 "../src/ast/lex.re"
+#line 586 "../src/ast/lex.re"
}
sourceline:
tok = cur;
-#line 2793 "src/ast/lex.cc"
+#line 2841 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy453;
+ if (yych == '\n') goto yy464;
} else {
- if (yych <= '"') goto yy455;
- if (yych <= '0') goto yy451;
- if (yych <= '9') goto yy456;
+ if (yych <= '"') goto yy466;
+ if (yych <= '0') goto yy462;
+ if (yych <= '9') goto yy467;
}
-yy451:
+yy462:
++YYCURSOR;
-yy452:
-#line 622 "../src/ast/lex.re"
+yy463:
+#line 628 "../src/ast/lex.re"
{
goto sourceline;
}
-#line 2846 "src/ast/lex.cc"
-yy453:
+#line 2894 "src/ast/lex.cc"
+yy464:
++YYCURSOR;
-#line 610 "../src/ast/lex.re"
+#line 616 "../src/ast/lex.re"
{
if (cur == eof)
{
tok = cur;
return;
}
-#line 2862 "src/ast/lex.cc"
-yy455:
+#line 2910 "src/ast/lex.cc"
+yy466:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy452;
- goto yy460;
-yy456:
+ if (yych == '\n') goto yy463;
+ goto yy471;
+yy467:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy456;
+ goto yy467;
}
-#line 599 "../src/ast/lex.re"
+#line 605 "../src/ast/lex.re"
{
if (!s_to_u32_unsafe (tok, cur, cline))
{
}
goto sourceline;
}
-#line 2882 "src/ast/lex.cc"
-yy459:
+#line 2930 "src/ast/lex.cc"
+yy470:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy460:
+yy471:
if (yybm[0+yych] & 128) {
- goto yy459;
+ goto yy470;
}
- if (yych <= '\n') goto yy461;
- if (yych <= '"') goto yy462;
- goto yy464;
-yy461:
+ if (yych <= '\n') goto yy472;
+ if (yych <= '"') goto yy473;
+ goto yy475;
+yy472:
YYCURSOR = YYMARKER;
- goto yy452;
-yy462:
+ goto yy463;
+yy473:
++YYCURSOR;
-#line 606 "../src/ast/lex.re"
+#line 612 "../src/ast/lex.re"
{
escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes
goto sourceline;
}
-#line 2904 "src/ast/lex.cc"
-yy464:
+#line 2952 "src/ast/lex.cc"
+yy475:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy461;
- goto yy459;
+ if (yych == '\n') goto yy472;
+ goto yy470;
}
-#line 625 "../src/ast/lex.re"
+#line 631 "../src/ast/lex.re"
}