-/* Generated by re2c 1.1.1 on Tue Oct 30 22:03:15 2018 */
+/* Generated by re2c 1.1.1 on Wed Oct 31 22:58:25 2018 */
#line 1 "../src/ast/lex.re"
#include "src/util/c99_stdint.h"
#include <stddef.h>
goto yy392;
yy396:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= ']') {
- if (yych <= '3') {
- if (yych <= '\r') {
+ if (yych <= '\\') {
+ if (yych <= '/') {
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy397;
if (yych == '\n') goto yy393;
- if (yych >= '\r') goto yy399;
+ goto yy398;
} else {
- if (yych == '-') goto yy400;
- if (yych >= '0') goto yy402;
+ if (yych <= '\r') goto yy400;
+ if (yych == '-') goto yy401;
+ goto yy398;
}
} else {
- if (yych <= 'W') {
- if (yych <= '7') goto yy404;
- if (yych == 'U') goto yy405;
+ if (yych <= 'U') {
+ if (yych <= '3') goto yy403;
+ if (yych <= '7') goto yy405;
+ if (yych <= 'T') goto yy398;
+ goto yy406;
} else {
- if (yych <= 'X') goto yy407;
- if (yych <= '[') goto yy397;
- if (yych <= '\\') goto yy408;
- goto yy410;
+ if (yych == 'X') goto yy408;
+ if (yych <= '[') goto yy398;
+ goto yy409;
}
}
} else {
- if (yych <= 'q') {
- if (yych <= 'e') {
- if (yych <= '`') goto yy397;
- if (yych <= 'a') goto yy412;
- if (yych <= 'b') goto yy414;
+ if (yych <= 'n') {
+ if (yych <= 'b') {
+ if (yych <= ']') goto yy411;
+ if (yych <= '`') goto yy398;
+ if (yych <= 'a') goto yy413;
+ goto yy415;
} else {
- if (yych <= 'f') goto yy416;
- if (yych == 'n') goto yy418;
+ if (yych == 'f') goto yy417;
+ if (yych <= 'm') goto yy398;
+ goto yy419;
}
} else {
- if (yych <= 'u') {
- if (yych <= 'r') goto yy420;
- if (yych <= 's') goto yy397;
- if (yych <= 't') goto yy422;
- goto yy407;
+ if (yych <= 't') {
+ if (yych == 'r') goto yy421;
+ if (yych <= 's') goto yy398;
+ goto yy423;
} else {
- if (yych <= 'v') goto yy424;
- if (yych == 'x') goto yy426;
+ if (yych <= 'v') {
+ if (yych <= 'u') goto yy408;
+ goto yy425;
+ } else {
+ if (yych == 'x') goto yy427;
+ goto yy398;
+ }
}
}
}
yy397:
- ++YYCURSOR;
+#line 451 "../src/ast/lex.re"
+ { fatal_lc(l, c, "syntax error in escape sequence"); }
+#line 2242 "src/ast/lex.cc"
yy398:
+ ++YYCURSOR;
+yy399:
#line 466 "../src/ast/lex.re"
{
warn.useless_escape(cline, get_column(), tok[1]);
return static_cast<uint8_t>(tok[1]);
}
-#line 2238 "src/ast/lex.cc"
-yy399:
+#line 2251 "src/ast/lex.cc"
+yy400:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy393;
- goto yy398;
-yy400:
+ goto yy399;
+yy401:
++YYCURSOR;
#line 464 "../src/ast/lex.re"
{ return static_cast<uint8_t>('-'); }
-#line 2247 "src/ast/lex.cc"
-yy402:
+#line 2260 "src/ast/lex.cc"
+yy403:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy403;
- if (yych <= '7') goto yy427;
-yy403:
+ if (yych <= '/') goto yy404;
+ if (yych <= '7') goto yy428;
+yy404:
#line 450 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in octal escape sequence"); }
-#line 2256 "src/ast/lex.cc"
-yy404:
- ++YYCURSOR;
- goto yy403;
+#line 2269 "src/ast/lex.cc"
yy405:
+ ++YYCURSOR;
+ goto yy404;
+yy406:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy406;
- if (yych <= '9') goto yy429;
+ if (yych <= '/') goto yy407;
+ if (yych <= '9') goto yy430;
} else {
- if (yych <= 'F') goto yy429;
- if (yych <= '`') goto yy406;
- if (yych <= 'f') goto yy429;
+ if (yych <= 'F') goto yy430;
+ if (yych <= '`') goto yy407;
+ if (yych <= 'f') goto yy430;
}
-yy406:
+yy407:
#line 449 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
-#line 2274 "src/ast/lex.cc"
-yy407:
+#line 2287 "src/ast/lex.cc"
+yy408:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy406;
- if (yych <= '9') goto yy430;
- goto yy406;
+ if (yych <= '/') goto yy407;
+ if (yych <= '9') goto yy431;
+ goto yy407;
} else {
- if (yych <= 'F') goto yy430;
- if (yych <= '`') goto yy406;
- if (yych <= 'f') goto yy430;
- goto yy406;
+ if (yych <= 'F') goto yy431;
+ if (yych <= '`') goto yy407;
+ if (yych <= 'f') goto yy431;
+ goto yy407;
}
-yy408:
+yy409:
++YYCURSOR;
#line 463 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2292 "src/ast/lex.cc"
-yy410:
+#line 2305 "src/ast/lex.cc"
+yy411:
++YYCURSOR;
#line 465 "../src/ast/lex.re"
{ return static_cast<uint8_t>(']'); }
-#line 2297 "src/ast/lex.cc"
-yy412:
+#line 2310 "src/ast/lex.cc"
+yy413:
++YYCURSOR;
#line 456 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2302 "src/ast/lex.cc"
-yy414:
+#line 2315 "src/ast/lex.cc"
+yy415:
++YYCURSOR;
#line 457 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2307 "src/ast/lex.cc"
-yy416:
+#line 2320 "src/ast/lex.cc"
+yy417:
++YYCURSOR;
#line 458 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2312 "src/ast/lex.cc"
-yy418:
+#line 2325 "src/ast/lex.cc"
+yy419:
++YYCURSOR;
#line 459 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2317 "src/ast/lex.cc"
-yy420:
+#line 2330 "src/ast/lex.cc"
+yy421:
++YYCURSOR;
#line 460 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2322 "src/ast/lex.cc"
-yy422:
+#line 2335 "src/ast/lex.cc"
+yy423:
++YYCURSOR;
#line 461 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2327 "src/ast/lex.cc"
-yy424:
+#line 2340 "src/ast/lex.cc"
+yy425:
++YYCURSOR;
#line 462 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2332 "src/ast/lex.cc"
-yy426:
+#line 2345 "src/ast/lex.cc"
+yy427:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy406;
- if (yych <= '9') goto yy431;
- goto yy406;
+ if (yych <= '/') goto yy407;
+ if (yych <= '9') goto yy432;
+ goto yy407;
} else {
- if (yych <= 'F') goto yy431;
- if (yych <= '`') goto yy406;
- if (yych <= 'f') goto yy431;
- goto yy406;
+ if (yych <= 'F') goto yy432;
+ if (yych <= '`') goto yy407;
+ if (yych <= 'f') goto yy432;
+ goto yy407;
}
-yy427:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy428;
- if (yych <= '7') goto yy432;
yy428:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '/') goto yy429;
+ if (yych <= '7') goto yy433;
+yy429:
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
- goto yy403;
+ goto yy404;
} else {
- goto yy406;
- }
-yy429:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy428;
- if (yych <= '9') goto yy434;
- goto yy428;
- } else {
- if (yych <= 'F') goto yy434;
- if (yych <= '`') goto yy428;
- if (yych <= 'f') goto yy434;
- goto yy428;
+ goto yy407;
}
yy430:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy428;
+ if (yych <= '/') goto yy429;
if (yych <= '9') goto yy435;
- goto yy428;
+ goto yy429;
} else {
if (yych <= 'F') goto yy435;
- if (yych <= '`') goto yy428;
+ if (yych <= '`') goto yy429;
if (yych <= 'f') goto yy435;
- goto yy428;
+ goto yy429;
}
yy431:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy428;
+ if (yych <= '/') goto yy429;
if (yych <= '9') goto yy436;
- goto yy428;
+ goto yy429;
} else {
if (yych <= 'F') goto yy436;
- if (yych <= '`') goto yy428;
+ if (yych <= '`') goto yy429;
if (yych <= 'f') goto yy436;
- goto yy428;
+ goto yy429;
}
yy432:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy429;
+ if (yych <= '9') goto yy437;
+ goto yy429;
+ } else {
+ if (yych <= 'F') goto yy437;
+ if (yych <= '`') goto yy429;
+ if (yych <= 'f') goto yy437;
+ goto yy429;
+ }
+yy433:
++YYCURSOR;
#line 455 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2397 "src/ast/lex.cc"
-yy434:
+#line 2410 "src/ast/lex.cc"
+yy435:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy428;
- if (yych <= '9') goto yy438;
- goto yy428;
+ if (yych <= '/') goto yy429;
+ if (yych <= '9') goto yy439;
+ goto yy429;
} else {
- if (yych <= 'F') goto yy438;
- if (yych <= '`') goto yy428;
- if (yych <= 'f') goto yy438;
- goto yy428;
+ if (yych <= 'F') goto yy439;
+ if (yych <= '`') goto yy429;
+ if (yych <= 'f') goto yy439;
+ goto yy429;
}
-yy435:
+yy436:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy428;
- if (yych <= '9') goto yy431;
- goto yy428;
+ if (yych <= '/') goto yy429;
+ if (yych <= '9') goto yy432;
+ goto yy429;
} else {
- if (yych <= 'F') goto yy431;
- if (yych <= '`') goto yy428;
- if (yych <= 'f') goto yy431;
- goto yy428;
+ if (yych <= 'F') goto yy432;
+ if (yych <= '`') goto yy429;
+ if (yych <= 'f') goto yy432;
+ goto yy429;
}
-yy436:
+yy437:
++YYCURSOR;
#line 454 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2426 "src/ast/lex.cc"
-yy438:
+#line 2439 "src/ast/lex.cc"
+yy439:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy428;
- if (yych >= ':') goto yy428;
+ if (yych <= '/') goto yy429;
+ if (yych >= ':') goto yy429;
} else {
- if (yych <= 'F') goto yy439;
- if (yych <= '`') goto yy428;
- if (yych >= 'g') goto yy428;
+ if (yych <= 'F') goto yy440;
+ if (yych <= '`') goto yy429;
+ if (yych >= 'g') goto yy429;
}
-yy439:
+yy440:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy428;
- if (yych <= '9') goto yy430;
- goto yy428;
+ if (yych <= '/') goto yy429;
+ if (yych <= '9') goto yy431;
+ goto yy429;
} else {
- if (yych <= 'F') goto yy430;
- if (yych <= '`') goto yy428;
- if (yych <= 'f') goto yy430;
- goto yy428;
+ if (yych <= 'F') goto yy431;
+ if (yych <= '`') goto yy429;
+ if (yych <= 'f') goto yy431;
+ goto yy429;
}
}
#line 470 "../src/ast/lex.re"
tok = cur;
const uint32_t l = get_cline(), c = get_column();
-#line 2460 "src/ast/lex.cc"
+#line 2473 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '\f') {
- if (yych <= 0x00) goto yy442;
- if (yych == '\n') goto yy446;
- goto yy444;
+ if (yych <= 0x00) goto yy443;
+ if (yych == '\n') goto yy447;
+ goto yy445;
} else {
- if (yych <= '\r') goto yy448;
- if (yych == '\\') goto yy449;
- goto yy444;
+ if (yych <= '\r') goto yy449;
+ if (yych == '\\') goto yy450;
+ goto yy445;
}
-yy442:
+yy443:
++YYCURSOR;
#line 480 "../src/ast/lex.re"
{ fail_if_eof(); return 0; }
-#line 2479 "src/ast/lex.cc"
-yy444:
- ++YYCURSOR;
+#line 2492 "src/ast/lex.cc"
yy445:
+ ++YYCURSOR;
+yy446:
#line 486 "../src/ast/lex.re"
{
end = tok[0] == quote;
return static_cast<uint8_t>(tok[0]);
}
-#line 2488 "src/ast/lex.cc"
-yy446:
+#line 2501 "src/ast/lex.cc"
+yy447:
++YYCURSOR;
#line 481 "../src/ast/lex.re"
{ fatal_lc(l, c, "newline in character string"); }
-#line 2493 "src/ast/lex.cc"
-yy448:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy446;
- goto yy445;
+#line 2506 "src/ast/lex.cc"
yy449:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy447;
+ goto yy446;
+yy450:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '`') {
- if (yych <= '7') {
- if (yych <= '\f') {
- if (yych == '\n') goto yy446;
+ if (yych <= '3') {
+ if (yych <= '\n') {
+ if (yych <= 0x00) goto yy451;
+ if (yych <= '\t') goto yy452;
+ goto yy447;
} else {
- if (yych <= '\r') goto yy452;
- if (yych <= '/') goto yy450;
- if (yych <= '3') goto yy453;
+ if (yych == '\r') goto yy454;
+ if (yych <= '/') goto yy452;
goto yy455;
}
} else {
if (yych <= 'W') {
- if (yych == 'U') goto yy456;
+ if (yych <= '7') goto yy457;
+ if (yych == 'U') goto yy458;
+ goto yy452;
} else {
- if (yych <= 'X') goto yy458;
- if (yych == '\\') goto yy459;
+ if (yych <= 'X') goto yy460;
+ if (yych == '\\') goto yy461;
+ goto yy452;
}
}
} else {
if (yych <= 'q') {
if (yych <= 'e') {
- if (yych <= 'a') goto yy461;
- if (yych <= 'b') goto yy463;
+ if (yych <= 'a') goto yy463;
+ if (yych <= 'b') goto yy465;
+ goto yy452;
} else {
- if (yych <= 'f') goto yy465;
- if (yych == 'n') goto yy467;
+ if (yych <= 'f') goto yy467;
+ if (yych == 'n') goto yy469;
+ goto yy452;
}
} else {
if (yych <= 'u') {
- if (yych <= 'r') goto yy469;
- if (yych <= 's') goto yy450;
- if (yych <= 't') goto yy471;
- goto yy458;
+ if (yych <= 'r') goto yy471;
+ if (yych <= 's') goto yy452;
+ if (yych <= 't') goto yy473;
+ goto yy460;
} else {
- if (yych <= 'v') goto yy473;
- if (yych == 'x') goto yy475;
+ if (yych <= 'v') goto yy475;
+ if (yych == 'x') goto yy477;
+ goto yy452;
}
}
}
-yy450:
- ++YYCURSOR;
yy451:
+#line 484 "../src/ast/lex.re"
+ { fatal_lc(l, c, "syntax error in escape sequence"); }
+#line 2562 "src/ast/lex.cc"
+yy452:
+ ++YYCURSOR;
+yy453:
#line 500 "../src/ast/lex.re"
{
if (tok[1] != quote) {
}
return static_cast<uint8_t>(tok[1]);
}
-#line 2549 "src/ast/lex.cc"
-yy452:
+#line 2573 "src/ast/lex.cc"
+yy454:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy446;
- goto yy451;
-yy453:
+ if (yych == '\n') goto yy447;
+ goto yy453;
+yy455:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy454;
- if (yych <= '7') goto yy476;
-yy454:
+ if (yych <= '/') goto yy456;
+ if (yych <= '7') goto yy478;
+yy456:
#line 483 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in octal escape sequence"); }
-#line 2562 "src/ast/lex.cc"
-yy455:
+#line 2586 "src/ast/lex.cc"
+yy457:
++YYCURSOR;
- goto yy454;
-yy456:
+ goto yy456;
+yy458:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy457;
- if (yych <= '9') goto yy478;
+ if (yych <= '/') goto yy459;
+ if (yych <= '9') goto yy480;
} else {
- if (yych <= 'F') goto yy478;
- if (yych <= '`') goto yy457;
- if (yych <= 'f') goto yy478;
+ if (yych <= 'F') goto yy480;
+ if (yych <= '`') goto yy459;
+ if (yych <= 'f') goto yy480;
}
-yy457:
+yy459:
#line 482 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
-#line 2580 "src/ast/lex.cc"
-yy458:
+#line 2604 "src/ast/lex.cc"
+yy460:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy457;
- if (yych <= '9') goto yy479;
- goto yy457;
+ if (yych <= '/') goto yy459;
+ if (yych <= '9') goto yy481;
+ goto yy459;
} else {
- if (yych <= 'F') goto yy479;
- if (yych <= '`') goto yy457;
- if (yych <= 'f') goto yy479;
- goto yy457;
+ if (yych <= 'F') goto yy481;
+ if (yych <= '`') goto yy459;
+ if (yych <= 'f') goto yy481;
+ goto yy459;
}
-yy459:
+yy461:
++YYCURSOR;
#line 499 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2598 "src/ast/lex.cc"
-yy461:
+#line 2622 "src/ast/lex.cc"
+yy463:
++YYCURSOR;
#line 492 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2603 "src/ast/lex.cc"
-yy463:
+#line 2627 "src/ast/lex.cc"
+yy465:
++YYCURSOR;
#line 493 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2608 "src/ast/lex.cc"
-yy465:
+#line 2632 "src/ast/lex.cc"
+yy467:
++YYCURSOR;
#line 494 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2613 "src/ast/lex.cc"
-yy467:
+#line 2637 "src/ast/lex.cc"
+yy469:
++YYCURSOR;
#line 495 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2618 "src/ast/lex.cc"
-yy469:
+#line 2642 "src/ast/lex.cc"
+yy471:
++YYCURSOR;
#line 496 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2623 "src/ast/lex.cc"
-yy471:
+#line 2647 "src/ast/lex.cc"
+yy473:
++YYCURSOR;
#line 497 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2628 "src/ast/lex.cc"
-yy473:
+#line 2652 "src/ast/lex.cc"
+yy475:
++YYCURSOR;
#line 498 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2633 "src/ast/lex.cc"
-yy475:
+#line 2657 "src/ast/lex.cc"
+yy477:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy457;
- if (yych <= '9') goto yy480;
- goto yy457;
+ if (yych <= '/') goto yy459;
+ if (yych <= '9') goto yy482;
+ goto yy459;
} else {
- if (yych <= 'F') goto yy480;
- if (yych <= '`') goto yy457;
- if (yych <= 'f') goto yy480;
- goto yy457;
+ if (yych <= 'F') goto yy482;
+ if (yych <= '`') goto yy459;
+ if (yych <= 'f') goto yy482;
+ goto yy459;
}
-yy476:
+yy478:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy477;
- if (yych <= '7') goto yy481;
-yy477:
+ if (yych <= '/') goto yy479;
+ if (yych <= '7') goto yy483;
+yy479:
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
- goto yy454;
+ goto yy456;
} else {
- goto yy457;
+ goto yy459;
}
-yy478:
+yy480:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy477;
- if (yych <= '9') goto yy483;
- goto yy477;
+ if (yych <= '/') goto yy479;
+ if (yych <= '9') goto yy485;
+ goto yy479;
} else {
- if (yych <= 'F') goto yy483;
- if (yych <= '`') goto yy477;
- if (yych <= 'f') goto yy483;
- goto yy477;
+ if (yych <= 'F') goto yy485;
+ if (yych <= '`') goto yy479;
+ if (yych <= 'f') goto yy485;
+ goto yy479;
}
-yy479:
+yy481:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy477;
- if (yych <= '9') goto yy484;
- goto yy477;
+ if (yych <= '/') goto yy479;
+ if (yych <= '9') goto yy486;
+ goto yy479;
} else {
- if (yych <= 'F') goto yy484;
- if (yych <= '`') goto yy477;
- if (yych <= 'f') goto yy484;
- goto yy477;
+ if (yych <= 'F') goto yy486;
+ if (yych <= '`') goto yy479;
+ if (yych <= 'f') goto yy486;
+ goto yy479;
}
-yy480:
+yy482:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy477;
- if (yych <= '9') goto yy485;
- goto yy477;
+ if (yych <= '/') goto yy479;
+ if (yych <= '9') goto yy487;
+ goto yy479;
} else {
- if (yych <= 'F') goto yy485;
- if (yych <= '`') goto yy477;
- if (yych <= 'f') goto yy485;
- goto yy477;
+ if (yych <= 'F') goto yy487;
+ if (yych <= '`') goto yy479;
+ if (yych <= 'f') goto yy487;
+ goto yy479;
}
-yy481:
+yy483:
++YYCURSOR;
#line 491 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2698 "src/ast/lex.cc"
-yy483:
+#line 2722 "src/ast/lex.cc"
+yy485:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy477;
- if (yych <= '9') goto yy487;
- goto yy477;
+ if (yych <= '/') goto yy479;
+ if (yych <= '9') goto yy489;
+ goto yy479;
} else {
- if (yych <= 'F') goto yy487;
- if (yych <= '`') goto yy477;
- if (yych <= 'f') goto yy487;
- goto yy477;
+ if (yych <= 'F') goto yy489;
+ if (yych <= '`') goto yy479;
+ if (yych <= 'f') goto yy489;
+ goto yy479;
}
-yy484:
+yy486:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy477;
- if (yych <= '9') goto yy480;
- goto yy477;
+ if (yych <= '/') goto yy479;
+ if (yych <= '9') goto yy482;
+ goto yy479;
} else {
- if (yych <= 'F') goto yy480;
- if (yych <= '`') goto yy477;
- if (yych <= 'f') goto yy480;
- goto yy477;
+ if (yych <= 'F') goto yy482;
+ if (yych <= '`') goto yy479;
+ if (yych <= 'f') goto yy482;
+ goto yy479;
}
-yy485:
+yy487:
++YYCURSOR;
#line 490 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2727 "src/ast/lex.cc"
-yy487:
+#line 2751 "src/ast/lex.cc"
+yy489:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy477;
- if (yych >= ':') goto yy477;
+ if (yych <= '/') goto yy479;
+ if (yych >= ':') goto yy479;
} else {
- if (yych <= 'F') goto yy488;
- if (yych <= '`') goto yy477;
- if (yych >= 'g') goto yy477;
+ if (yych <= 'F') goto yy490;
+ if (yych <= '`') goto yy479;
+ if (yych >= 'g') goto yy479;
}
-yy488:
+yy490:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy477;
- if (yych <= '9') goto yy479;
- goto yy477;
+ if (yych <= '/') goto yy479;
+ if (yych <= '9') goto yy481;
+ goto yy479;
} else {
- if (yych <= 'F') goto yy479;
- if (yych <= '`') goto yy477;
- if (yych <= 'f') goto yy479;
- goto yy477;
+ if (yych <= 'F') goto yy481;
+ if (yych <= '`') goto yy479;
+ if (yych <= 'f') goto yy481;
+ goto yy479;
}
}
#line 506 "../src/ast/lex.re"
sourceline:
tok = cur;
-#line 2771 "src/ast/lex.cc"
+#line 2795 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= 0x01) goto yy493;
+ if (yych >= 0x01) goto yy495;
} else {
- if (yych <= '\n') goto yy495;
- if (yych <= '\f') goto yy493;
- goto yy497;
+ if (yych <= '\n') goto yy497;
+ if (yych <= '\f') goto yy495;
+ goto yy499;
}
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy493;
- goto yy498;
+ if (yych <= '!') goto yy495;
+ goto yy500;
} else {
- if (yych <= '0') goto yy493;
- if (yych <= '9') goto yy499;
- goto yy493;
+ if (yych <= '0') goto yy495;
+ if (yych <= '9') goto yy501;
+ goto yy495;
}
}
++YYCURSOR;
tok = cur;
return;
}
-#line 2835 "src/ast/lex.cc"
-yy493:
+#line 2859 "src/ast/lex.cc"
+yy495:
++YYCURSOR;
-yy494:
+yy496:
#line 549 "../src/ast/lex.re"
{ goto sourceline; }
-#line 2841 "src/ast/lex.cc"
-yy495:
+#line 2865 "src/ast/lex.cc"
+yy497:
++YYCURSOR;
#line 538 "../src/ast/lex.re"
{
tok = cur;
return;
}
-#line 2849 "src/ast/lex.cc"
-yy497:
+#line 2873 "src/ast/lex.cc"
+yy499:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy495;
- goto yy494;
-yy498:
+ if (yych == '\n') goto yy497;
+ goto yy496;
+yy500:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= 0x00) goto yy494;
- if (yych == '\n') goto yy494;
- goto yy503;
-yy499:
+ if (yych <= 0x00) goto yy496;
+ if (yych == '\n') goto yy496;
+ goto yy505;
+yy501:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy499;
+ goto yy501;
}
#line 525 "../src/ast/lex.re"
{
}
goto sourceline;
}
-#line 2873 "src/ast/lex.cc"
-yy502:
+#line 2897 "src/ast/lex.cc"
+yy504:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy503:
+yy505:
if (yybm[0+yych] & 128) {
- goto yy502;
+ goto yy504;
}
- if (yych <= '\n') goto yy504;
- if (yych <= '"') goto yy505;
- goto yy507;
-yy504:
+ if (yych <= '\n') goto yy506;
+ if (yych <= '"') goto yy507;
+ goto yy509;
+yy506:
YYCURSOR = YYMARKER;
- goto yy494;
-yy505:
+ goto yy496;
+yy507:
++YYCURSOR;
#line 532 "../src/ast/lex.re"
{
strrreplace (in.escaped_file_name, "\\", "\\\\");
goto sourceline;
}
-#line 2896 "src/ast/lex.cc"
-yy507:
+#line 2920 "src/ast/lex.cc"
+yy509:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x00) goto yy504;
- if (yych == '\n') goto yy504;
- goto yy502;
+ if (yych <= 0x00) goto yy506;
+ if (yych == '\n') goto yy506;
+ goto yy504;
}
#line 550 "../src/ast/lex.re"