-/* Generated by re2c 0.16 on Mon Mar 6 11:22:46 2017 */
+/* Generated by re2c 0.16 on Mon Mar 6 17:22:49 2017 */
#line 1 "../src/ast/lex.re"
#include "src/util/c99_stdint.h"
#include <stddef.h>
#define YYCTYPE unsigned char
#define YYCURSOR cur
#define YYLIMIT lim
-#define YYMARKER ptr
+#define YYMARKER mar
#define YYCTXMARKER ctx
#define YYFILL(n) { fill (n); }
tok = cur;
echo:
- const char *start = cur;
+ ptr = cur;
#line 55 "src/ast/lex.cc"
}
}
++YYCURSOR;
-#line 137 "../src/ast/lex.re"
+#line 121 "../src/ast/lex.re"
{
- if (cur == eof) {
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start);
- }
- return Stop;
- }
- goto echo;
+ if (cur != eof) goto echo;
+ out.wraw(tok, ptr);
+ return Stop;
}
-#line 123 "src/ast/lex.cc"
+#line 119 "src/ast/lex.cc"
yy4:
++YYCURSOR;
yy5:
-#line 158 "../src/ast/lex.re"
+#line 138 "../src/ast/lex.re"
{ goto echo; }
-#line 129 "src/ast/lex.cc"
+#line 125 "src/ast/lex.cc"
yy6:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
if (yych == '#') goto yy14;
yy7:
-#line 152 "../src/ast/lex.re"
+#line 132 "../src/ast/lex.re"
{
cline++;
pos = cur;
goto echo;
}
-#line 144 "src/ast/lex.cc"
+#line 140 "src/ast/lex.cc"
yy8:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy6;
++YYCURSOR;
#line 71 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start);
- }
+ out.wraw(tok, ptr);
return Parse;
}
-#line 194 "src/ast/lex.cc"
+#line 188 "src/ast/lex.cc"
yy18:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '!') goto yy20;
yy66:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 147 "../src/ast/lex.re"
+#line 127 "../src/ast/lex.re"
{
set_sourceline();
goto echo;
}
-#line 427 "src/ast/lex.cc"
+#line 421 "src/ast/lex.cc"
yy68:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy66;
goto yy13;
yy89:
++YYCURSOR;
-#line 100 "../src/ast/lex.re"
+#line 92 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start)
- .wdelay_yymaxfill();
- }
+ out.wraw(tok, ptr);
+ out.wdelay_yymaxfill();
lex_end_of_comment();
goto echo;
}
-#line 528 "src/ast/lex.cc"
+#line 520 "src/ast/lex.cc"
yy91:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '2') goto yy98;
goto yy13;
yy94:
++YYCURSOR;
-#line 85 "../src/ast/lex.re"
+#line 81 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start);
- }
+ out.wraw(tok, ptr);
return Reuse;
}
-#line 550 "src/ast/lex.cc"
+#line 540 "src/ast/lex.cc"
yy96:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy102;
goto yy13;
yy99:
++YYCURSOR;
-#line 129 "../src/ast/lex.re"
+#line 115 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start);
- }
+ out.wraw(tok, ptr);
lex_tags();
goto echo;
}
-#line 573 "src/ast/lex.cc"
+#line 561 "src/ast/lex.cc"
yy101:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'c') goto yy106;
goto yy13;
yy104:
++YYCURSOR;
-#line 78 "../src/ast/lex.re"
+#line 76 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start);
- }
+ out.wraw(tok, ptr);
return Rules;
}
-#line 595 "src/ast/lex.cc"
+#line 581 "src/ast/lex.cc"
yy106:
++YYCURSOR;
-#line 118 "../src/ast/lex.re"
+#line 106 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start)
- .wdelay_line_info()
- .wdelay_types()
- .wline_info(cline, get_fname().c_str());
- }
+ out.wraw(tok, ptr);
+ out.wdelay_line_info();
+ out.wdelay_types();
+ out.wline_info(cline, get_fname().c_str());
lex_end_of_comment();
goto echo;
}
-#line 609 "src/ast/lex.cc"
+#line 593 "src/ast/lex.cc"
yy108:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '2') goto yy111;
goto yy13;
yy109:
++YYCURSOR;
-#line 92 "../src/ast/lex.re"
+#line 86 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start);
- }
+ out.wraw(tok, ptr);
lex_end_of_comment();
goto echo;
}
-#line 624 "src/ast/lex.cc"
+#line 606 "src/ast/lex.cc"
yy111:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'c') goto yy13;
++YYCURSOR;
-#line 109 "../src/ast/lex.re"
+#line 99 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wraw(tok, start)
- .wdelay_state_goto(opts->topIndent);
- }
+ out.wraw(tok, ptr);
+ out.wdelay_state_goto(0);
lex_end_of_comment();
goto echo;
}
-#line 638 "src/ast/lex.cc"
+#line 618 "src/ast/lex.cc"
}
-#line 159 "../src/ast/lex.re"
+#line 139 "../src/ast/lex.re"
}
{
uint32_t ignored = 0;
for (;;) {
-#line 648 "src/ast/lex.cc"
+#line 628 "src/ast/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
}
yy116:
++YYCURSOR;
-#line 166 "../src/ast/lex.re"
+#line 146 "../src/ast/lex.re"
{ fatal("expected end of block"); }
-#line 666 "src/ast/lex.cc"
+#line 646 "src/ast/lex.cc"
yy118:
++YYCURSOR;
yy119:
-#line 168 "../src/ast/lex.re"
+#line 148 "../src/ast/lex.re"
{ continue; }
-#line 672 "src/ast/lex.cc"
+#line 652 "src/ast/lex.cc"
yy120:
++YYCURSOR;
-#line 169 "../src/ast/lex.re"
+#line 149 "../src/ast/lex.re"
{ ++ignored; continue; }
-#line 677 "src/ast/lex.cc"
+#line 657 "src/ast/lex.cc"
yy122:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy120;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != '/') goto yy119;
++YYCURSOR;
-#line 170 "../src/ast/lex.re"
+#line 150 "../src/ast/lex.re"
{
if (ignored > 0) {
cline += ignored;
- out.ws("\n").wline_info(cline, get_fname().c_str());
+ out.wline_info(cline, get_fname().c_str());
}
tok = pos = cur;
return;
}
-#line 695 "src/ast/lex.cc"
+#line 675 "src/ast/lex.cc"
}
-#line 178 "../src/ast/lex.re"
+#line 158 "../src/ast/lex.re"
}
}
{
std::string fmt, sep;
for (;;) {
-#line 705 "src/ast/lex.cc"
+#line 685 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
}
++YYCURSOR;
yy129:
-#line 185 "../src/ast/lex.re"
+#line 165 "../src/ast/lex.re"
{ fatal("unrecognized configuration"); }
-#line 765 "src/ast/lex.cc"
+#line 745 "src/ast/lex.cc"
yy130:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
if (yybm[0+yych] & 128) {
goto yy130;
}
-#line 190 "../src/ast/lex.re"
+#line 170 "../src/ast/lex.re"
{ continue; }
-#line 775 "src/ast/lex.cc"
+#line 755 "src/ast/lex.cc"
yy133:
++YYCURSOR;
-#line 191 "../src/ast/lex.re"
+#line 171 "../src/ast/lex.re"
{ ++cline; continue; }
-#line 780 "src/ast/lex.cc"
+#line 760 "src/ast/lex.cc"
yy135:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy133;
goto yy129;
yy139:
++YYCURSOR;
-#line 192 "../src/ast/lex.re"
+#line 172 "../src/ast/lex.re"
{
- if (opts->target == opt_t::CODE) {
- out.wdelay_tags(opts->topIndent,
- new ConfTags(fmt, sep));
- }
+ out.wdelay_tags(new ConfTags(fmt, sep));
tok = pos = cur;
return;
}
-#line 808 "src/ast/lex.cc"
+#line 785 "src/ast/lex.cc"
yy141:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy144;
goto yy142;
yy150:
++YYCURSOR;
-#line 187 "../src/ast/lex.re"
+#line 167 "../src/ast/lex.re"
{ fmt = lex_conf_string(); continue; }
-#line 847 "src/ast/lex.cc"
+#line 824 "src/ast/lex.cc"
yy152:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 't') goto yy142;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'r') goto yy142;
++YYCURSOR;
-#line 188 "../src/ast/lex.re"
+#line 168 "../src/ast/lex.re"
{ sep = lex_conf_string(); continue; }
-#line 858 "src/ast/lex.cc"
+#line 835 "src/ast/lex.cc"
}
-#line 200 "../src/ast/lex.re"
+#line 177 "../src/ast/lex.re"
}
}
start:
-#line 878 "src/ast/lex.cc"
+#line 855 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
yy159:
++YYCURSOR;
yy160:
-#line 365 "../src/ast/lex.re"
+#line 342 "../src/ast/lex.re"
{
fatalf("unexpected character: '%c'", *tok);
goto scan;
}
-#line 980 "src/ast/lex.cc"
+#line 957 "src/ast/lex.cc"
yy161:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
if (yybm[0+yych] & 16) {
goto yy161;
}
-#line 349 "../src/ast/lex.re"
+#line 326 "../src/ast/lex.re"
{
goto scan;
}
-#line 992 "src/ast/lex.cc"
+#line 969 "src/ast/lex.cc"
yy164:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == '#') goto yy190;
}
yy165:
-#line 358 "../src/ast/lex.re"
+#line 335 "../src/ast/lex.re"
{
if (cur == eof) return 0;
pos = cur;
cline++;
goto scan;
}
-#line 1010 "src/ast/lex.cc"
+#line 987 "src/ast/lex.cc"
yy166:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy164;
yy167:
++YYCURSOR;
yy168:
-#line 262 "../src/ast/lex.re"
+#line 239 "../src/ast/lex.re"
{ return *tok; }
-#line 1020 "src/ast/lex.cc"
+#line 997 "src/ast/lex.cc"
yy169:
++YYCURSOR;
-#line 249 "../src/ast/lex.re"
+#line 226 "../src/ast/lex.re"
{ yylval.regexp = lex_str('"'); return TOKEN_REGEXP; }
-#line 1025 "src/ast/lex.cc"
+#line 1002 "src/ast/lex.cc"
yy171:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '}') goto yy192;
goto yy160;
yy172:
++YYCURSOR;
-#line 248 "../src/ast/lex.re"
+#line 225 "../src/ast/lex.re"
{ yylval.regexp = lex_str('\''); return TOKEN_REGEXP; }
-#line 1034 "src/ast/lex.cc"
+#line 1011 "src/ast/lex.cc"
yy174:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '/') goto yy192;
goto yy168;
yy175:
++YYCURSOR;
-#line 344 "../src/ast/lex.re"
+#line 321 "../src/ast/lex.re"
{
yylval.regexp = ast_dot(cline, get_column());
return TOKEN_REGEXP;
}
-#line 1046 "src/ast/lex.cc"
+#line 1023 "src/ast/lex.cc"
yy177:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '*') goto yy194;
yy182:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '^') goto yy209;
-#line 250 "../src/ast/lex.re"
+#line 227 "../src/ast/lex.re"
{ yylval.regexp = lex_cls(false); return TOKEN_REGEXP; }
-#line 1108 "src/ast/lex.cc"
+#line 1085 "src/ast/lex.cc"
yy184:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy211;
}
}
yy186:
-#line 217 "../src/ast/lex.re"
+#line 194 "../src/ast/lex.re"
{
depth = 1;
code_line = cline;
goto code;
}
-#line 1137 "src/ast/lex.cc"
+#line 1114 "src/ast/lex.cc"
yy187:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
}
yy192:
++YYCURSOR;
-#line 243 "../src/ast/lex.re"
+#line 220 "../src/ast/lex.re"
{
tok = cur;
return 0;
}
-#line 1178 "src/ast/lex.cc"
+#line 1155 "src/ast/lex.cc"
yy194:
++YYCURSOR;
-#line 237 "../src/ast/lex.re"
+#line 214 "../src/ast/lex.re"
{
depth = 1;
goto comment;
}
-#line 1186 "src/ast/lex.cc"
+#line 1163 "src/ast/lex.cc"
yy196:
++YYCURSOR;
-#line 234 "../src/ast/lex.re"
+#line 211 "../src/ast/lex.re"
{
goto nextLine;
}
-#line 1193 "src/ast/lex.cc"
+#line 1170 "src/ast/lex.cc"
yy198:
++YYCURSOR;
YYCURSOR -= 1;
-#line 327 "../src/ast/lex.re"
+#line 304 "../src/ast/lex.re"
{
if (!opts->FFlag) {
yylval.str = new std::string (tok, tok_len());
for (char *s = tok; s < cur; ++s) {
const uint32_t
chr = static_cast<uint8_t>(*s),
- col = static_cast<uint32_t>(s - ptr);
+ col = static_cast<uint32_t>(s - tok);
str->push_back(ASTChar(chr, col));
}
yylval.regexp = ast_str(cline, get_column(), str, false);
return TOKEN_REGEXP;
}
}
-#line 1214 "src/ast/lex.cc"
+#line 1191 "src/ast/lex.cc"
yy200:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yy202:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 322 "../src/ast/lex.re"
+#line 299 "../src/ast/lex.re"
{
yylval.str = new std::string (tok, tok_len ());
return TOKEN_ID;
}
-#line 1239 "src/ast/lex.cc"
+#line 1216 "src/ast/lex.cc"
yy204:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '>') goto yy221;
-#line 227 "../src/ast/lex.re"
+#line 204 "../src/ast/lex.re"
{
tok += 2; /* skip ":=" */
depth = 0;
code_line = cline;
goto code;
}
-#line 1250 "src/ast/lex.cc"
+#line 1227 "src/ast/lex.cc"
yy206:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
}
}
yy208:
-#line 253 "../src/ast/lex.re"
+#line 230 "../src/ast/lex.re"
{
if (!opts->tags) {
fatal("tags are only allowed with '-T, --tags' option");
yylval.regexp = ast_tag(cline, get_column(), name);
return TOKEN_REGEXP;
}
-#line 1277 "src/ast/lex.cc"
+#line 1254 "src/ast/lex.cc"
yy209:
++YYCURSOR;
-#line 251 "../src/ast/lex.re"
+#line 228 "../src/ast/lex.re"
{ yylval.regexp = lex_cls(true); return TOKEN_REGEXP; }
-#line 1282 "src/ast/lex.cc"
+#line 1259 "src/ast/lex.cc"
yy211:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '2') goto yy223;
yy212:
++YYCURSOR;
yy213:
-#line 295 "../src/ast/lex.re"
+#line 272 "../src/ast/lex.re"
{
fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-#line 1294 "src/ast/lex.cc"
+#line 1271 "src/ast/lex.cc"
yy214:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yy219:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 309 "../src/ast/lex.re"
+#line 286 "../src/ast/lex.re"
{
yylval.str = new std::string (tok, tok_len ());
if (opts->FFlag)
return TOKEN_ID;
}
}
-#line 1360 "src/ast/lex.cc"
+#line 1337 "src/ast/lex.cc"
yy221:
++YYCURSOR;
YYCURSOR -= 2;
-#line 223 "../src/ast/lex.re"
+#line 200 "../src/ast/lex.re"
{
return *tok;
}
-#line 1368 "src/ast/lex.cc"
+#line 1345 "src/ast/lex.cc"
yy223:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'c') goto yy230;
goto yy213;
yy225:
++YYCURSOR;
-#line 264 "../src/ast/lex.re"
+#line 241 "../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 1391 "src/ast/lex.cc"
+#line 1368 "src/ast/lex.cc"
yy227:
++YYCURSOR;
-#line 299 "../src/ast/lex.re"
+#line 276 "../src/ast/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 1402 "src/ast/lex.cc"
+#line 1379 "src/ast/lex.cc"
yy229:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'n') goto yy235;
goto yy189;
yy233:
++YYCURSOR;
-#line 286 "../src/ast/lex.re"
+#line 263 "../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 1430 "src/ast/lex.cc"
+#line 1407 "src/ast/lex.cc"
yy235:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy240;
goto yy189;
yy236:
++YYCURSOR;
-#line 307 "../src/ast/lex.re"
+#line 284 "../src/ast/lex.re"
{ lex_conf (); return TOKEN_CONF; }
-#line 1439 "src/ast/lex.cc"
+#line 1416 "src/ast/lex.cc"
yy238:
++YYCURSOR;
-#line 273 "../src/ast/lex.re"
+#line 250 "../src/ast/lex.re"
{
const char * p = strchr (tok, ',');
if (!s_to_u32_unsafe (tok + 1, p, yylval.bounds.min))
}
return TOKEN_CLOSESIZE;
}
-#line 1455 "src/ast/lex.cc"
+#line 1432 "src/ast/lex.cc"
yy240:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '0') goto yy242;
yy247:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 353 "../src/ast/lex.re"
+#line 330 "../src/ast/lex.re"
{
set_sourceline ();
goto scan;
}
-#line 1516 "src/ast/lex.cc"
+#line 1493 "src/ast/lex.cc"
yy249:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy247;
if (yych == '\n') goto yy189;
goto yy250;
}
-#line 369 "../src/ast/lex.re"
+#line 346 "../src/ast/lex.re"
flex_name:
-#line 1546 "src/ast/lex.cc"
+#line 1523 "src/ast/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
if (yych == '\r') goto yy260;
++YYCURSOR;
yy257:
-#line 380 "../src/ast/lex.re"
+#line 357 "../src/ast/lex.re"
{
YYCURSOR = tok;
goto start;
}
-#line 1560 "src/ast/lex.cc"
+#line 1537 "src/ast/lex.cc"
yy258:
++YYCURSOR;
-#line 374 "../src/ast/lex.re"
+#line 351 "../src/ast/lex.re"
{
YYCURSOR = tok;
lexer_state = LEX_NORMAL;
return TOKEN_FID_END;
}
-#line 1569 "src/ast/lex.cc"
+#line 1546 "src/ast/lex.cc"
yy260:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy258;
goto yy257;
}
-#line 384 "../src/ast/lex.re"
+#line 361 "../src/ast/lex.re"
code:
-#line 1580 "src/ast/lex.cc"
+#line 1557 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
}
yy263:
++YYCURSOR;
-#line 447 "../src/ast/lex.re"
+#line 424 "../src/ast/lex.re"
{
if (cur == eof)
{
}
goto code;
}
-#line 1653 "src/ast/lex.cc"
+#line 1630 "src/ast/lex.cc"
yy265:
++YYCURSOR;
yy266:
-#line 461 "../src/ast/lex.re"
+#line 438 "../src/ast/lex.re"
{
goto code;
}
-#line 1661 "src/ast/lex.cc"
+#line 1638 "src/ast/lex.cc"
yy267:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
}
yy268:
-#line 428 "../src/ast/lex.re"
+#line 405 "../src/ast/lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1700 "src/ast/lex.cc"
+#line 1677 "src/ast/lex.cc"
yy269:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
goto yy287;
yy271:
++YYCURSOR;
-#line 400 "../src/ast/lex.re"
+#line 377 "../src/ast/lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1725 "src/ast/lex.cc"
+#line 1702 "src/ast/lex.cc"
yy273:
++YYCURSOR;
-#line 388 "../src/ast/lex.re"
+#line 365 "../src/ast/lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1741 "src/ast/lex.cc"
+#line 1718 "src/ast/lex.cc"
yy275:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
yy276:
YYCURSOR -= 1;
-#line 415 "../src/ast/lex.re"
+#line 392 "../src/ast/lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1767 "src/ast/lex.cc"
+#line 1744 "src/ast/lex.cc"
yy277:
++YYCURSOR;
goto yy276;
if (yych >= '#') goto yy285;
yy283:
++YYCURSOR;
-#line 458 "../src/ast/lex.re"
+#line 435 "../src/ast/lex.re"
{
goto code;
}
-#line 1806 "src/ast/lex.cc"
+#line 1783 "src/ast/lex.cc"
yy285:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yy301:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 411 "../src/ast/lex.re"
+#line 388 "../src/ast/lex.re"
{
set_sourceline ();
goto code;
}
-#line 1901 "src/ast/lex.cc"
+#line 1878 "src/ast/lex.cc"
yy303:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy301;
if (yych == '\n') goto yy280;
goto yy304;
}
-#line 464 "../src/ast/lex.re"
+#line 441 "../src/ast/lex.re"
comment:
-#line 1935 "src/ast/lex.cc"
+#line 1912 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
}
++YYCURSOR;
yy311:
-#line 496 "../src/ast/lex.re"
+#line 473 "../src/ast/lex.re"
{
if (cur == eof)
{
}
goto comment;
}
-#line 1990 "src/ast/lex.cc"
+#line 1967 "src/ast/lex.cc"
yy312:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
}
if (yych == '#') goto yy319;
yy313:
-#line 487 "../src/ast/lex.re"
+#line 464 "../src/ast/lex.re"
{
if (cur == eof)
{
cline++;
goto comment;
}
-#line 2008 "src/ast/lex.cc"
+#line 1985 "src/ast/lex.cc"
yy314:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '/') goto yy321;
}
yy321:
++YYCURSOR;
-#line 468 "../src/ast/lex.re"
+#line 445 "../src/ast/lex.re"
{
if (--depth == 0)
{
goto comment;
}
}
-#line 2053 "src/ast/lex.cc"
+#line 2030 "src/ast/lex.cc"
yy323:
++YYCURSOR;
-#line 478 "../src/ast/lex.re"
+#line 455 "../src/ast/lex.re"
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-#line 2062 "src/ast/lex.cc"
+#line 2039 "src/ast/lex.cc"
yy325:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'i') goto yy318;
yy335:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 483 "../src/ast/lex.re"
+#line 460 "../src/ast/lex.re"
{
set_sourceline ();
goto comment;
}
-#line 2124 "src/ast/lex.cc"
+#line 2101 "src/ast/lex.cc"
yy337:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy335;
if (yych == '\n') goto yy318;
goto yy338;
}
-#line 503 "../src/ast/lex.re"
+#line 480 "../src/ast/lex.re"
nextLine:
-#line 2154 "src/ast/lex.cc"
+#line 2131 "src/ast/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych == '\n') goto yy346;
++YYCURSOR;
-#line 514 "../src/ast/lex.re"
+#line 491 "../src/ast/lex.re"
{ if(cur == eof) {
return 0;
}
goto nextLine;
}
-#line 2167 "src/ast/lex.cc"
+#line 2144 "src/ast/lex.cc"
yy346:
++YYCURSOR;
-#line 507 "../src/ast/lex.re"
+#line 484 "../src/ast/lex.re"
{ if(cur == eof) {
return 0;
}
cline++;
goto scan;
}
-#line 2178 "src/ast/lex.cc"
+#line 2155 "src/ast/lex.cc"
}
-#line 519 "../src/ast/lex.re"
+#line 496 "../src/ast/lex.re"
}
tok = cur;
c = get_column();
-#line 2206 "src/ast/lex.cc"
+#line 2183 "src/ast/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych == ']') goto yy351;
-#line 545 "../src/ast/lex.re"
+#line 522 "../src/ast/lex.re"
{ l = lex_cls_chr(); goto snd; }
-#line 2214 "src/ast/lex.cc"
+#line 2191 "src/ast/lex.cc"
yy351:
++YYCURSOR;
-#line 544 "../src/ast/lex.re"
+#line 521 "../src/ast/lex.re"
{ return ast_cls(cline, c0, cls, neg); }
-#line 2219 "src/ast/lex.cc"
+#line 2196 "src/ast/lex.cc"
}
-#line 546 "../src/ast/lex.re"
+#line 523 "../src/ast/lex.re"
snd:
-#line 2225 "src/ast/lex.cc"
+#line 2202 "src/ast/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = (YYCTYPE)*(YYMARKER = YYCURSOR);
if (yych == '-') goto yy356;
yy355:
-#line 549 "../src/ast/lex.re"
+#line 526 "../src/ast/lex.re"
{ u = l; goto add; }
-#line 2234 "src/ast/lex.cc"
+#line 2211 "src/ast/lex.cc"
yy356:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != ']') goto yy358;
yy358:
++YYCURSOR;
YYCURSOR -= 1;
-#line 550 "../src/ast/lex.re"
+#line 527 "../src/ast/lex.re"
{
u = lex_cls_chr();
if (l > u) {
}
goto add;
}
-#line 2252 "src/ast/lex.cc"
+#line 2229 "src/ast/lex.cc"
}
-#line 558 "../src/ast/lex.re"
+#line 535 "../src/ast/lex.re"
add:
cls->push_back(ASTRange(l, u, c));
{
tok = cur;
-#line 2265 "src/ast/lex.cc"
+#line 2242 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if (yych == '\n') goto yy364;
if (yych == '\\') goto yy366;
++YYCURSOR;
-#line 573 "../src/ast/lex.re"
+#line 550 "../src/ast/lex.re"
{ return static_cast<uint8_t>(tok[0]); }
-#line 2276 "src/ast/lex.cc"
+#line 2253 "src/ast/lex.cc"
yy364:
++YYCURSOR;
-#line 568 "../src/ast/lex.re"
+#line 545 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error"); }
-#line 2281 "src/ast/lex.cc"
+#line 2258 "src/ast/lex.cc"
yy366:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '`') {
}
}
}
-#line 571 "../src/ast/lex.re"
+#line 548 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in escape sequence"); }
-#line 2332 "src/ast/lex.cc"
+#line 2309 "src/ast/lex.cc"
yy368:
++YYCURSOR;
-#line 586 "../src/ast/lex.re"
+#line 563 "../src/ast/lex.re"
{
warn.useless_escape(cline, get_column(), tok[1]);
return static_cast<uint8_t>(tok[1]);
}
-#line 2340 "src/ast/lex.cc"
+#line 2317 "src/ast/lex.cc"
yy370:
++YYCURSOR;
-#line 584 "../src/ast/lex.re"
+#line 561 "../src/ast/lex.re"
{ return static_cast<uint8_t>('-'); }
-#line 2345 "src/ast/lex.cc"
+#line 2322 "src/ast/lex.cc"
yy372:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '/') goto yy373;
if (yych <= '7') goto yy397;
yy373:
-#line 570 "../src/ast/lex.re"
+#line 547 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in octal escape sequence"); }
-#line 2354 "src/ast/lex.cc"
+#line 2331 "src/ast/lex.cc"
yy374:
++YYCURSOR;
goto yy373;
if (yych <= 'f') goto yy399;
}
yy376:
-#line 569 "../src/ast/lex.re"
+#line 546 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2372 "src/ast/lex.cc"
+#line 2349 "src/ast/lex.cc"
yy377:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
yy378:
++YYCURSOR;
-#line 583 "../src/ast/lex.re"
+#line 560 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2390 "src/ast/lex.cc"
+#line 2367 "src/ast/lex.cc"
yy380:
++YYCURSOR;
-#line 585 "../src/ast/lex.re"
+#line 562 "../src/ast/lex.re"
{ return static_cast<uint8_t>(']'); }
-#line 2395 "src/ast/lex.cc"
+#line 2372 "src/ast/lex.cc"
yy382:
++YYCURSOR;
-#line 576 "../src/ast/lex.re"
+#line 553 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2400 "src/ast/lex.cc"
+#line 2377 "src/ast/lex.cc"
yy384:
++YYCURSOR;
-#line 577 "../src/ast/lex.re"
+#line 554 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2405 "src/ast/lex.cc"
+#line 2382 "src/ast/lex.cc"
yy386:
++YYCURSOR;
-#line 578 "../src/ast/lex.re"
+#line 555 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2410 "src/ast/lex.cc"
+#line 2387 "src/ast/lex.cc"
yy388:
++YYCURSOR;
-#line 579 "../src/ast/lex.re"
+#line 556 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2415 "src/ast/lex.cc"
+#line 2392 "src/ast/lex.cc"
yy390:
++YYCURSOR;
-#line 580 "../src/ast/lex.re"
+#line 557 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2420 "src/ast/lex.cc"
+#line 2397 "src/ast/lex.cc"
yy392:
++YYCURSOR;
-#line 581 "../src/ast/lex.re"
+#line 558 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2425 "src/ast/lex.cc"
+#line 2402 "src/ast/lex.cc"
yy394:
++YYCURSOR;
-#line 582 "../src/ast/lex.re"
+#line 559 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2430 "src/ast/lex.cc"
+#line 2407 "src/ast/lex.cc"
yy396:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
yy402:
++YYCURSOR;
-#line 575 "../src/ast/lex.re"
+#line 552 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2495 "src/ast/lex.cc"
+#line 2472 "src/ast/lex.cc"
yy404:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
}
yy406:
++YYCURSOR;
-#line 574 "../src/ast/lex.re"
+#line 551 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2524 "src/ast/lex.cc"
+#line 2501 "src/ast/lex.cc"
yy408:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
goto yy398;
}
}
-#line 590 "../src/ast/lex.re"
+#line 567 "../src/ast/lex.re"
}
end = false;
tok = cur;
-#line 2557 "src/ast/lex.cc"
+#line 2534 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if (yych == '\n') goto yy414;
if (yych == '\\') goto yy416;
++YYCURSOR;
-#line 603 "../src/ast/lex.re"
+#line 580 "../src/ast/lex.re"
{
end = tok[0] == quote;
return static_cast<uint8_t>(tok[0]);
}
-#line 2571 "src/ast/lex.cc"
+#line 2548 "src/ast/lex.cc"
yy414:
++YYCURSOR;
-#line 598 "../src/ast/lex.re"
+#line 575 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error"); }
-#line 2576 "src/ast/lex.cc"
+#line 2553 "src/ast/lex.cc"
yy416:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 'a') {
}
}
}
-#line 601 "../src/ast/lex.re"
+#line 578 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in escape sequence"); }
-#line 2624 "src/ast/lex.cc"
+#line 2601 "src/ast/lex.cc"
yy418:
++YYCURSOR;
-#line 617 "../src/ast/lex.re"
+#line 594 "../src/ast/lex.re"
{
if (tok[1] != quote) {
warn.useless_escape(cline, get_column(), tok[1]);
}
return static_cast<uint8_t>(tok[1]);
}
-#line 2634 "src/ast/lex.cc"
+#line 2611 "src/ast/lex.cc"
yy420:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '/') goto yy421;
if (yych <= '7') goto yy443;
yy421:
-#line 600 "../src/ast/lex.re"
+#line 577 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in octal escape sequence"); }
-#line 2643 "src/ast/lex.cc"
+#line 2620 "src/ast/lex.cc"
yy422:
++YYCURSOR;
goto yy421;
if (yych <= 'f') goto yy445;
}
yy424:
-#line 599 "../src/ast/lex.re"
+#line 576 "../src/ast/lex.re"
{ fatal (get_column() - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2661 "src/ast/lex.cc"
+#line 2638 "src/ast/lex.cc"
yy425:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
yy426:
++YYCURSOR;
-#line 616 "../src/ast/lex.re"
+#line 593 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2679 "src/ast/lex.cc"
+#line 2656 "src/ast/lex.cc"
yy428:
++YYCURSOR;
-#line 609 "../src/ast/lex.re"
+#line 586 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2684 "src/ast/lex.cc"
+#line 2661 "src/ast/lex.cc"
yy430:
++YYCURSOR;
-#line 610 "../src/ast/lex.re"
+#line 587 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2689 "src/ast/lex.cc"
+#line 2666 "src/ast/lex.cc"
yy432:
++YYCURSOR;
-#line 611 "../src/ast/lex.re"
+#line 588 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2694 "src/ast/lex.cc"
+#line 2671 "src/ast/lex.cc"
yy434:
++YYCURSOR;
-#line 612 "../src/ast/lex.re"
+#line 589 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2699 "src/ast/lex.cc"
+#line 2676 "src/ast/lex.cc"
yy436:
++YYCURSOR;
-#line 613 "../src/ast/lex.re"
+#line 590 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2704 "src/ast/lex.cc"
+#line 2681 "src/ast/lex.cc"
yy438:
++YYCURSOR;
-#line 614 "../src/ast/lex.re"
+#line 591 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2709 "src/ast/lex.cc"
+#line 2686 "src/ast/lex.cc"
yy440:
++YYCURSOR;
-#line 615 "../src/ast/lex.re"
+#line 592 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2714 "src/ast/lex.cc"
+#line 2691 "src/ast/lex.cc"
yy442:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
yy448:
++YYCURSOR;
-#line 608 "../src/ast/lex.re"
+#line 585 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2779 "src/ast/lex.cc"
+#line 2756 "src/ast/lex.cc"
yy450:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
}
yy452:
++YYCURSOR;
-#line 607 "../src/ast/lex.re"
+#line 584 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2808 "src/ast/lex.cc"
+#line 2785 "src/ast/lex.cc"
yy454:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
goto yy444;
}
}
-#line 623 "../src/ast/lex.re"
+#line 600 "../src/ast/lex.re"
}
sourceline:
tok = cur;
-#line 2852 "src/ast/lex.cc"
+#line 2829 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
yy458:
++YYCURSOR;
yy459:
-#line 665 "../src/ast/lex.re"
+#line 642 "../src/ast/lex.re"
{
goto sourceline;
}
-#line 2905 "src/ast/lex.cc"
+#line 2882 "src/ast/lex.cc"
yy460:
++YYCURSOR;
-#line 653 "../src/ast/lex.re"
+#line 630 "../src/ast/lex.re"
{
if (cur == eof)
{
tok = cur;
return;
}
-#line 2921 "src/ast/lex.cc"
+#line 2898 "src/ast/lex.cc"
yy462:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == '\n') goto yy459;
if (yybm[0+yych] & 64) {
goto yy463;
}
-#line 642 "../src/ast/lex.re"
+#line 619 "../src/ast/lex.re"
{
if (!s_to_u32_unsafe (tok, cur, cline))
{
}
goto sourceline;
}
-#line 2941 "src/ast/lex.cc"
+#line 2918 "src/ast/lex.cc"
yy466:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
goto yy459;
yy469:
++YYCURSOR;
-#line 649 "../src/ast/lex.re"
+#line 626 "../src/ast/lex.re"
{
escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes
goto sourceline;
}
-#line 2963 "src/ast/lex.cc"
+#line 2940 "src/ast/lex.cc"
yy471:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
if (yych == '\n') goto yy468;
goto yy466;
}
-#line 668 "../src/ast/lex.re"
+#line 645 "../src/ast/lex.re"
}
-/* Generated by re2c 0.16 on Sat Mar 4 23:19:21 2017 */
+/* Generated by re2c 0.16 on Mon Mar 6 16:33:58 2017 */
#line 1 "../src/ast/lex_conf.re"
#include "src/util/c99_stdint.h"
#include <string>
#line 80 "src/ast/lex_conf.cc"
yy4:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'g') goto yy13;
if (yych == 'o') goto yy15;
goto yy3;
yy5:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'e') goto yy16;
goto yy3;
yy6:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'l') goto yy17;
goto yy3;
yy7:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'n') goto yy18;
goto yy3;
yy8:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy19;
goto yy3;
yy9:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 't') goto yy20;
goto yy3;
yy10:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy21;
goto yy3;
yy11:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy22;
goto yy3;
yy12:
yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'y') goto yy23;
goto yy3;
yy13:
yych = (unsigned char)*++cur;
if (yych == 'o') goto yy24;
yy14:
- cur = ptr;
+ cur = mar;
if (yyaccept <= 11) {
if (yyaccept <= 5) {
if (yyaccept <= 2) {
#line 590 "src/ast/lex_conf.cc"
yy100:
yyaccept = 1;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'i') goto yy150;
yy101:
#line 45 "../src/ast/lex_conf.re"
#line 598 "src/ast/lex_conf.cc"
yy102:
yyaccept = 2;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy151;
if (yych == 'o') goto yy152;
yy103:
#line 607 "src/ast/lex_conf.cc"
yy104:
yyaccept = 3;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych <= 'd') goto yy105;
if (yych <= 'e') goto yy153;
if (yych <= 'f') goto yy154;
#line 617 "src/ast/lex_conf.cc"
yy106:
yyaccept = 4;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych <= 'c') {
if (yych == 'a') goto yy155;
if (yych >= 'c') goto yy156;
#line 632 "src/ast/lex_conf.cc"
yy108:
yyaccept = 5;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'l') goto yy159;
yy109:
#line 48 "../src/ast/lex_conf.re"
#line 645 "src/ast/lex_conf.cc"
yy112:
yyaccept = 6;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'n') goto yy160;
yy113:
#line 51 "../src/ast/lex_conf.re"
goto yy14;
yy115:
yyaccept = 7;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'u') goto yy163;
yy116:
#line 69 "../src/ast/lex_conf.re"
goto yy14;
yy118:
yyaccept = 8;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'e') goto yy165;
yy119:
#line 52 "../src/ast/lex_conf.re"
#line 678 "src/ast/lex_conf.cc"
yy120:
yyaccept = 9;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'k') goto yy166;
if (yych == 't') goto yy167;
yy121:
#line 687 "src/ast/lex_conf.cc"
yy122:
yyaccept = 10;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy168;
if (yych == 'y') goto yy169;
yy123:
#line 696 "src/ast/lex_conf.cc"
yy124:
yyaccept = 11;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'n') goto yy170;
if (yych == 't') goto yy171;
yy125:
#line 705 "src/ast/lex_conf.cc"
yy126:
yyaccept = 12;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'i') goto yy172;
yy127:
#line 65 "../src/ast/lex_conf.re"
goto yy14;
yy193:
yyaccept = 13;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == '@') goto yy243;
yy194:
#line 87 "../src/ast/lex_conf.re"
goto yy14;
yy289:
yyaccept = 14;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych <= 0x1F) {
if (yych == '\t') {
ctx = cur;
goto yy14;
yy368:
yyaccept = 15;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == '@') goto yy436;
yy369:
#line 85 "../src/ast/lex_conf.re"
goto yy14;
yy446:
yyaccept = 16;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == ':') goto yy515;
if (yych == '@') goto yy516;
yy447:
goto yy14;
yy559:
yyaccept = 17;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'C') goto yy609;
if (yych == 'T') goto yy610;
yy560:
goto yy14;
yy620:
yyaccept = 18;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'C') goto yy668;
if (yych == 'T') goto yy669;
yy621:
goto yy14;
yy664:
yyaccept = 19;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == ':') goto yy707;
yy665:
#line 91 "../src/ast/lex_conf.re"
goto yy14;
yy671:
yyaccept = 20;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == ':') goto yy711;
if (yych == '@') goto yy712;
yy672:
goto yy109;
yy761:
yyaccept = 21;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == ':') goto yy774;
yy762:
#line 78 "../src/ast/lex_conf.re"
goto yy14;
yy764:
yyaccept = 22;
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == ':') goto yy776;
if (yych == '@') goto yy777;
yy765:
" (expected: 'ignore', 'substitute', 'fail')"); }
#line 3378 "src/ast/lex_conf.cc"
yy816:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy819;
goto yy815;
yy817:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'g') goto yy821;
goto yy815;
yy818:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'u') goto yy822;
goto yy815;
yy819:
yych = (unsigned char)*++cur;
if (yych == 'i') goto yy823;
yy820:
- cur = ptr;
+ cur = mar;
goto yy815;
yy821:
yych = (unsigned char)*++cur;
" (expected: 'default', 'custom')"); }
#line 3481 "src/ast/lex_conf.cc"
yy844:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'u') goto yy846;
goto yy843;
yy845:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'e') goto yy848;
goto yy843;
yy846:
yych = (unsigned char)*++cur;
if (yych == 's') goto yy849;
yy847:
- cur = ptr;
+ cur = mar;
goto yy843;
yy848:
yych = (unsigned char)*++cur;
" (expected: 'match-empty', 'match-none', 'error')"); }
#line 3559 "src/ast/lex_conf.cc"
yy864:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'r') goto yy866;
goto yy863;
yy865:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy868;
goto yy863;
yy866:
yych = (unsigned char)*++cur;
if (yych == 'r') goto yy869;
yy867:
- cur = ptr;
+ cur = mar;
goto yy863;
yy868:
yych = (unsigned char)*++cur;
" (expected: 'table', 'moore')"); }
#line 3667 "src/ast/lex_conf.cc"
yy892:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'o') goto yy894;
goto yy891;
yy893:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych == 'a') goto yy896;
goto yy891;
yy894:
yych = (unsigned char)*++cur;
if (yych == 'o') goto yy897;
yy895:
- cur = ptr;
+ cur = mar;
goto yy891;
yy896:
yych = (unsigned char)*++cur;
{ fatal ("missing '=' in configuration"); }
#line 3783 "src/ast/lex_conf.cc"
yy909:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yych <= 0x1F) {
if (yych == '\t') goto yy913;
goto yy908;
if (yych <= ' ') goto yy913;
if (yych == '=') goto yy910;
}
- cur = ptr;
+ cur = mar;
goto yy908;
}
#line 244 "../src/ast/lex_conf.re"
{ fatal ("missing ending ';' in configuration"); }
#line 3872 "src/ast/lex_conf.cc"
yy920:
- yych = (unsigned char)*(ptr = ++cur);
+ yych = (unsigned char)*(mar = ++cur);
if (yybm[0+yych] & 128) {
goto yy923;
}
goto yy923;
}
if (yych == ';') goto yy921;
- cur = ptr;
+ cur = mar;
goto yy919;
}
#line 252 "../src/ast/lex_conf.re"