-/* Generated by re2c 1.1.1 on Wed Feb 13 15:25:28 2019 */
+/* Generated by re2c 1.1.1 on Fri May 24 12:13:11 2019 */
#line 1 "../src/options/parse_opts.re"
#include "src/codegen/input_api.h"
#include "src/options/opt.h"
yy395:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy436;
+ if (yych == '-') goto yy438;
goto yy284;
yy396:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy438;
+ if (yych == 'i') goto yy439;
goto yy284;
yy397:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy439;
+ if (yych == 'd') goto yy440;
goto yy284;
yy398:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy440;
+ if (yych == 'b') goto yy441;
goto yy284;
yy399:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy441;
+ if (yych == 'n') goto yy442;
goto yy284;
yy400:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy442;
+ if (yych == 'o') goto yy443;
goto yy284;
yy401:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy443;
+ if (yych == 't') goto yy444;
goto yy284;
yy402:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy444;
+ if (yych == 'r') goto yy445;
goto yy284;
yy403:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy445;
+ if (yych == 't') goto yy446;
goto yy284;
yy404:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy446;
+ if (yych == '-') goto yy447;
goto yy284;
yy405:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy447;
+ if (yych == 'b') goto yy448;
goto yy284;
yy406:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy448;
+ if (yych == 'e') goto yy449;
goto yy284;
yy407:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy449;
+ if (yych == 't') goto yy450;
goto yy284;
yy408:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy450;
+ if (yych == '-') goto yy451;
goto yy284;
yy409:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy451;
+ if (yych == 'b') goto yy452;
goto yy284;
yy410:
++YYCURSOR;
#line 159 "../src/options/parse_opts.re"
{ opts.set_tags (true); goto opt; }
-#line 1752 "src/options/parse_opts.cc"
+#line 1753 "src/options/parse_opts.cc"
yy412:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy452;
+ if (yych == 'h') goto yy453;
goto yy284;
yy413:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy453;
+ if (yych == 'd') goto yy454;
goto yy284;
yy414:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '6') goto yy454;
+ if (yych == '6') goto yy455;
goto yy284;
yy415:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy455;
+ if (yych <= 0x00) goto yy456;
goto yy284;
yy416:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy457;
+ if (yych == 's') goto yy458;
goto yy284;
yy417:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy458;
+ if (yych == 'm') goto yy459;
goto yy284;
yy418:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy459;
+ if (yych == 'o') goto yy460;
goto yy284;
yy419:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy460;
+ if (yych == 'c') goto yy461;
goto yy284;
yy420:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy461;
+ if (yych == 'c') goto yy462;
goto yy284;
yy421:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy462;
+ if (yych == 'n') goto yy463;
goto yy284;
yy422:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy463;
+ if (yych == 'e') goto yy464;
goto yy284;
yy423:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy464;
+ if (yych == 'i') goto yy465;
goto yy284;
yy424:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy465;
+ if (yych == 'o') goto yy466;
goto yy284;
yy425:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy466;
+ if (yych == 'n') goto yy467;
goto yy284;
yy426:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy467;
+ if (yych == 'd') goto yy468;
goto yy284;
yy427:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy468;
- if (yych == 'l') goto yy469;
+ if (yych == 'f') goto yy469;
+ if (yych == 'l') goto yy470;
goto yy284;
yy428:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy470;
+ if (yych == 'f') goto yy471;
goto yy284;
yy429:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy471;
+ if (yych == 'n') goto yy472;
goto yy284;
yy430:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy472;
+ if (yych == 'f') goto yy473;
goto yy284;
yy431:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy473;
+ if (yych == 's') goto yy474;
goto yy284;
yy432:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy474;
+ if (yych == 'o') goto yy475;
goto yy284;
yy433:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy475;
+ if (yych == 'c') goto yy476;
goto yy284;
yy434:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy476;
+ if (yych == 'n') goto yy477;
goto yy284;
yy435:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy477;
+ if (yych == 'y') goto yy478;
goto yy284;
yy436:
++YYCURSOR;
#line 175 "../src/options/parse_opts.re"
{ NEXT_ARG("--input", opt_input); }
-#line 1854 "src/options/parse_opts.cc"
+#line 1855 "src/options/parse_opts.cc"
yy438:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy478;
+ if (yych == 'e') goto yy479;
goto yy284;
yy439:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy479;
+ if (yych == 'o') goto yy480;
goto yy284;
yy440:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy480;
+ if (yych == '-') goto yy481;
goto yy284;
yy441:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy481;
+ if (yych == 'u') goto yy482;
goto yy284;
yy442:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'k') goto yy482;
+ if (yych == 'e') goto yy483;
goto yy284;
yy443:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy483;
+ if (yych == 'k') goto yy484;
goto yy284;
yy444:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy484;
+ if (yych == 'i') goto yy485;
goto yy284;
yy445:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy485;
+ if (yych == 's') goto yy486;
goto yy284;
yy446:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy487;
+ if (yych <= 0x00) goto yy487;
goto yy284;
yy447:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy488;
+ if (yych == 'c') goto yy489;
goto yy284;
yy448:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy489;
+ if (yych == 'l') goto yy490;
goto yy284;
yy449:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy490;
+ if (yych == '-') goto yy491;
goto yy284;
yy450:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy491;
+ if (yych == 'o') goto yy492;
goto yy284;
yy451:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy492;
+ if (yych == 'c') goto yy493;
goto yy284;
yy452:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy493;
+ if (yych == 'l') goto yy494;
goto yy284;
yy453:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy494;
+ if (yych == 'e') goto yy495;
goto yy284;
yy454:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy495;
+ if (yych == 'e') goto yy496;
goto yy284;
yy455:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy497;
+ goto yy284;
+yy456:
++YYCURSOR;
#line 164 "../src/options/parse_opts.re"
{ opts.set_encoding(Enc::UTF8); goto opt; }
-#line 1927 "src/options/parse_opts.cc"
-yy457:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy497;
- goto yy284;
+#line 1932 "src/options/parse_opts.cc"
yy458:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy498;
+ if (yych == 'e') goto yy499;
goto yy284;
yy459:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy500;
+ if (yych <= 0x00) goto yy500;
goto yy284;
yy460:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy501;
+ if (yych == 'n') goto yy502;
goto yy284;
yy461:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy502;
+ if (yych == 'h') goto yy503;
goto yy284;
yy462:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy503;
- if (yych == 'v') goto yy504;
+ if (yych == 't') goto yy504;
goto yy284;
yy463:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy505;
+ if (yych == 's') goto yy505;
+ if (yych == 'v') goto yy506;
goto yy284;
yy464:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy506;
+ if (yych == 'd') goto yy507;
goto yy284;
yy465:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy507;
+ if (yych == 'o') goto yy508;
goto yy284;
yy466:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy508;
+ if (yych == 'u') goto yy509;
goto yy284;
yy467:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy509;
+ if (yych == 'i') goto yy510;
goto yy284;
yy468:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy510;
+ if (yych == 'f') goto yy511;
goto yy284;
yy469:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy511;
+ if (yych == 'g') goto yy512;
goto yy284;
yy470:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy512;
+ if (yych == 'o') goto yy513;
goto yy284;
yy471:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy513;
+ if (yych == 'a') goto yy514;
goto yy284;
yy472:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy514;
+ if (yych == 't') goto yy515;
goto yy284;
yy473:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'k') goto yy515;
+ if (yych == 'a') goto yy516;
goto yy284;
yy474:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy516;
+ if (yych == 'k') goto yy517;
goto yy284;
yy475:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy517;
+ if (yych == 't') goto yy518;
goto yy284;
yy476:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy518;
+ if (yych == 'l') goto yy519;
goto yy284;
yy477:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy519;
+ if (yych == 'g') goto yy520;
goto yy284;
yy478:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy520;
+ if (yych == 'n') goto yy521;
goto yy284;
yy479:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy521;
+ if (yych == 'n') goto yy522;
goto yy284;
yy480:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy522;
+ if (yych == 'n') goto yy523;
goto yy284;
yy481:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy523;
+ if (yych == 'i') goto yy524;
goto yy284;
yy482:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy524;
+ if (yych == 'g') goto yy525;
goto yy284;
yy483:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy525;
+ if (yych == 'r') goto yy526;
goto yy284;
yy484:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy526;
+ if (yych == 'a') goto yy527;
goto yy284;
yy485:
- ++YYCURSOR;
-#line 172 "../src/options/parse_opts.re"
- { NEXT_ARG("-o, --output", opt_output); }
-#line 2045 "src/options/parse_opts.cc"
-yy487:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy527;
- if (yych == 'l') goto yy528;
+ if (yych == 'm') goto yy528;
goto yy284;
-yy488:
+yy486:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy529;
+ if (yych == 'i') goto yy529;
goto yy284;
+yy487:
+ ++YYCURSOR;
+#line 172 "../src/options/parse_opts.re"
+ { NEXT_ARG("-o, --output", opt_output); }
+#line 2054 "src/options/parse_opts.cc"
yy489:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy530;
+ if (yych == 'a') goto yy530;
+ if (yych == 'l') goto yy531;
goto yy284;
yy490:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy531;
+ if (yych == 'e') goto yy532;
goto yy284;
yy491:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy532;
+ if (yych == 'p') goto yy533;
goto yy284;
yy492:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy533;
+ if (yych == 'n') goto yy534;
goto yy284;
yy493:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy534;
+ if (yych == 'o') goto yy535;
goto yy284;
yy494:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy535;
+ if (yych == 'e') goto yy536;
goto yy284;
yy495:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy537;
+ goto yy284;
+yy496:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy538;
+ goto yy284;
+yy497:
++YYCURSOR;
#line 163 "../src/options/parse_opts.re"
{ opts.set_encoding(Enc::UTF16); goto opt; }
-#line 2083 "src/options/parse_opts.cc"
-yy497:
+#line 2092 "src/options/parse_opts.cc"
+yy499:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy537;
+ if (yych <= 0x00) goto yy540;
goto yy284;
-yy498:
+yy500:
++YYCURSOR;
#line 140 "../src/options/parse_opts.re"
{ vernum (); return EXIT_OK; }
-#line 2092 "src/options/parse_opts.cc"
-yy500:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy539;
- goto yy284;
-yy501:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy541;
- goto yy284;
+#line 2101 "src/options/parse_opts.cc"
yy502:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy542;
+ if (yych <= 0x00) goto yy542;
goto yy284;
yy503:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy543;
+ if (yych == 'a') goto yy544;
goto yy284;
yy504:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy544;
+ if (yych == 'o') goto yy545;
goto yy284;
yy505:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy545;
+ if (yych == 'e') goto yy546;
goto yy284;
yy506:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy546;
+ if (yych == 'e') goto yy547;
goto yy284;
yy507:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy547;
+ if (yych == '-') goto yy548;
goto yy284;
yy508:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy548;
+ if (yych == 'n') goto yy549;
goto yy284;
yy509:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy549;
+ if (yych == 't') goto yy550;
goto yy284;
yy510:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy550;
+ if (yych == 'm') goto yy551;
goto yy284;
yy511:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy552;
+ if (yych == 'a') goto yy552;
goto yy284;
yy512:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy553;
+ if (yych <= 0x00) goto yy553;
goto yy284;
yy513:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy554;
+ if (yych == 's') goto yy555;
goto yy284;
yy514:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy555;
+ if (yych == '-') goto yy556;
goto yy284;
yy515:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy557;
+ if (yych == 'e') goto yy557;
goto yy284;
yy516:
yych = (YYCTYPE)*++YYCURSOR;
goto yy284;
yy517:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy560;
+ if (yych == 'i') goto yy560;
goto yy284;
yy518:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy561;
+ if (yych <= 0x00) goto yy561;
goto yy284;
yy519:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy562;
+ if (yych == 'a') goto yy563;
goto yy284;
yy520:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy563;
+ if (yych == '-') goto yy564;
goto yy284;
yy521:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy564;
+ if (yych == 't') goto yy565;
goto yy284;
yy522:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy565;
+ if (yych == 'c') goto yy566;
goto yy284;
yy523:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy566;
+ if (yych == '-') goto yy567;
goto yy284;
yy524:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy567;
+ if (yych == 'f') goto yy568;
goto yy284;
yy525:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy568;
+ if (yych == '-') goto yy569;
goto yy284;
yy526:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy569;
+ if (yych == 'a') goto yy570;
goto yy284;
yy527:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy570;
+ if (yych == 'h') goto yy571;
goto yy284;
yy528:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy571;
+ if (yych == 'i') goto yy572;
goto yy284;
yy529:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy572;
+ if (yych == 'o') goto yy573;
goto yy284;
yy530:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy574;
+ if (yych == 'p') goto yy574;
goto yy284;
yy531:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy575;
+ if (yych == 'o') goto yy575;
goto yy284;
yy532:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy315;
+ if (yych <= 0x00) goto yy576;
goto yy284;
yy533:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy577;
+ if (yych == 'a') goto yy578;
goto yy284;
yy534:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy578;
+ if (yych <= 0x00) goto yy579;
goto yy284;
yy535:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy315;
+ goto yy284;
+yy536:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '-') goto yy581;
+ goto yy284;
+yy537:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'd') goto yy582;
+ goto yy284;
+yy538:
++YYCURSOR;
#line 161 "../src/options/parse_opts.re"
{ opts.set_encoding(Enc::UTF32); goto opt; }
-#line 2237 "src/options/parse_opts.cc"
-yy537:
+#line 2250 "src/options/parse_opts.cc"
+yy540:
++YYCURSOR;
#line 147 "../src/options/parse_opts.re"
{ globopts.verbose = true; goto opt; }
-#line 2242 "src/options/parse_opts.cc"
-yy539:
+#line 2255 "src/options/parse_opts.cc"
+yy542:
++YYCURSOR;
#line 139 "../src/options/parse_opts.re"
{ version (); return EXIT_OK; }
-#line 2247 "src/options/parse_opts.cc"
-yy541:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy579;
- goto yy284;
-yy542:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy580;
- goto yy284;
-yy543:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy581;
- goto yy284;
+#line 2260 "src/options/parse_opts.cc"
yy544:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy582;
+ if (yych == 'r') goto yy583;
goto yy284;
yy545:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy583;
+ if (yych == 'r') goto yy584;
goto yy284;
yy546:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy584;
+ if (yych == 'n') goto yy585;
goto yy284;
yy547:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy585;
+ if (yych == 'r') goto yy586;
goto yy284;
yy548:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy586;
+ if (yych == 'g') goto yy587;
goto yy284;
yy549:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy587;
+ if (yych == 's') goto yy588;
goto yy284;
yy550:
- ++YYCURSOR;
-#line 195 "../src/options/parse_opts.re"
- { globopts.dump_cfg = true; goto opt; }
-#line 2288 "src/options/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'p') goto yy589;
+ goto yy284;
+yy551:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy590;
+ goto yy284;
yy552:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy589;
+ if (yych <= 0x00) goto yy591;
goto yy284;
yy553:
+ ++YYCURSOR;
+#line 196 "../src/options/parse_opts.re"
+ { globopts.dump_cfg = true; goto opt; }
+#line 2301 "src/options/parse_opts.cc"
+yy555:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'u') goto yy593;
+ goto yy284;
+yy556:
yych = (YYCTYPE)*++YYCURSOR;
switch (yych) {
- case 'd': goto yy590;
- case 'm': goto yy591;
- case 'r': goto yy592;
- case 't': goto yy593;
+ case 'd': goto yy594;
+ case 'm': goto yy595;
+ case 'r': goto yy596;
+ case 't': goto yy597;
default: goto yy284;
}
-yy554:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy594;
- goto yy284;
-yy555:
- ++YYCURSOR;
-#line 189 "../src/options/parse_opts.re"
- { globopts.dump_nfa = true; goto opt; }
-#line 2310 "src/options/parse_opts.cc"
yy557:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy595;
+ if (yych == 'r') goto yy598;
goto yy284;
yy558:
++YYCURSOR;
-#line 143 "../src/options/parse_opts.re"
- { globopts.target = TARGET_DOT; goto opt; }
-#line 2319 "src/options/parse_opts.cc"
+#line 190 "../src/options/parse_opts.re"
+ { globopts.dump_nfa = true; goto opt; }
+#line 2323 "src/options/parse_opts.cc"
yy560:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy596;
+ if (yych == 'p') goto yy599;
goto yy284;
yy561:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy597;
- goto yy284;
-yy562:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy598;
- goto yy284;
+ ++YYCURSOR;
+#line 143 "../src/options/parse_opts.re"
+ { globopts.target = TARGET_DOT; goto opt; }
+#line 2332 "src/options/parse_opts.cc"
yy563:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy599;
+ if (yych == 's') goto yy600;
goto yy284;
yy564:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy600;
+ if (yych == 'p') goto yy601;
goto yy284;
yy565:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy601;
+ if (yych == 'a') goto yy602;
goto yy284;
yy566:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy602;
+ if (yych == 'o') goto yy603;
goto yy284;
yy567:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy603;
+ if (yych == 'f') goto yy604;
goto yy284;
yy568:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'z') goto yy604;
+ if (yych == 's') goto yy605;
goto yy284;
yy569:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy605;
+ if (yych == 'i') goto yy606;
goto yy284;
yy570:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy606;
+ if (yych == 't') goto yy607;
goto yy284;
yy571:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy607;
+ if (yych == 'e') goto yy608;
goto yy284;
yy572:
- ++YYCURSOR;
-#line 146 "../src/options/parse_opts.re"
- { globopts.rFlag = true; goto opt; }
-#line 2372 "src/options/parse_opts.cc"
-yy574:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy608;
+ if (yych == 'z') goto yy609;
goto yy284;
-yy575:
- ++YYCURSOR;
-#line 150 "../src/options/parse_opts.re"
- { globopts.target = TARGET_SKELETON; goto opt; }
-#line 2381 "src/options/parse_opts.cc"
-yy577:
+yy573:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy609;
+ if (yych == 'n') goto yy610;
goto yy284;
-yy578:
+yy574:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy610;
+ if (yych == 't') goto yy611;
goto yy284;
-yy579:
+yy575:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy611;
+ if (yych == 's') goto yy612;
goto yy284;
-yy580:
+yy576:
+ ++YYCURSOR;
+#line 146 "../src/options/parse_opts.re"
+ { globopts.rFlag = true; goto opt; }
+#line 2389 "src/options/parse_opts.cc"
+yy578:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy612;
+ if (yych == 's') goto yy613;
goto yy284;
+yy579:
+ ++YYCURSOR;
+#line 150 "../src/options/parse_opts.re"
+ { globopts.target = TARGET_SKELETON; goto opt; }
+#line 2398 "src/options/parse_opts.cc"
yy581:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy613;
+ if (yych == 's') goto yy614;
goto yy284;
yy582:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy614;
+ if (yych == 'e') goto yy615;
goto yy284;
yy583:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy615;
+ if (yych == 's') goto yy616;
goto yy284;
yy584:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy616;
+ if (yych == 's') goto yy617;
goto yy284;
yy585:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy618;
+ if (yych == 's') goto yy618;
goto yy284;
yy586:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'z') goto yy619;
+ if (yych == 't') goto yy619;
goto yy284;
yy587:
- ++YYCURSOR;
-#line 194 "../src/options/parse_opts.re"
- { globopts.dump_adfa = true; goto opt; }
-#line 2426 "src/options/parse_opts.cc"
-yy589:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy620;
+ if (yych == 'o') goto yy620;
goto yy284;
-yy590:
+yy588:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy621;
+ if (yych <= 0x00) goto yy621;
goto yy284;
-yy591:
+yy589:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy622;
+ if (yych == 'u') goto yy623;
goto yy284;
-yy592:
+yy590:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy623;
+ if (yych == 'z') goto yy624;
goto yy284;
+yy591:
+ ++YYCURSOR;
+#line 195 "../src/options/parse_opts.re"
+ { globopts.dump_adfa = true; goto opt; }
+#line 2443 "src/options/parse_opts.cc"
yy593:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy624;
+ if (yych == 'r') goto yy625;
goto yy284;
yy594:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy625;
+ if (yych == 'e') goto yy626;
goto yy284;
yy595:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy626;
+ if (yych == 'i') goto yy627;
goto yy284;
yy596:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy628;
+ if (yych == 'a') goto yy628;
goto yy284;
yy597:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy629;
+ if (yych == 'a') goto yy629;
goto yy284;
yy598:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'x') goto yy630;
+ if (yych == 'f') goto yy630;
goto yy284;
yy599:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy631;
+ if (yych <= 0x00) goto yy631;
goto yy284;
yy600:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy632;
+ if (yych == 's') goto yy633;
goto yy284;
yy601:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy634;
+ if (yych == 'o') goto yy634;
goto yy284;
yy602:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy635;
+ if (yych == 'x') goto yy635;
goto yy284;
yy603:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy636;
+ if (yych == 'd') goto yy636;
goto yy284;
yy604:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy637;
+ if (yych == 'o') goto yy637;
goto yy284;
yy605:
yych = (YYCTYPE)*++YYCURSOR;
goto yy284;
yy606:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy640;
+ if (yych == 'n') goto yy640;
goto yy284;
yy607:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy641;
+ if (yych == 'i') goto yy641;
goto yy284;
yy608:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy642;
+ if (yych == 'a') goto yy642;
goto yy284;
yy609:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy643;
+ if (yych == 'e') goto yy643;
goto yy284;
yy610:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy644;
+ if (yych <= 0x00) goto yy644;
goto yy284;
yy611:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy645;
+ if (yych == 'u') goto yy646;
goto yy284;
yy612:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy647;
+ if (yych == 'u') goto yy647;
goto yy284;
yy613:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy649;
+ if (yych == 's') goto yy648;
goto yy284;
yy614:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy650;
+ if (yych == 't') goto yy649;
goto yy284;
yy615:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy651;
+ if (yych == 'r') goto yy650;
goto yy284;
yy616:
- ++YYCURSOR;
-#line 142 "../src/options/parse_opts.re"
- { globopts.cFlag = true; goto opt; }
-#line 2539 "src/options/parse_opts.cc"
-yy618:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy652;
+ if (yych <= 0x00) goto yy651;
goto yy284;
-yy619:
+yy617:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy653;
+ if (yych <= 0x00) goto yy653;
goto yy284;
-yy620:
+yy618:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy654;
+ if (yych == 'i') goto yy655;
goto yy284;
-yy621:
+yy619:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy655;
+ if (yych == 'e') goto yy656;
goto yy284;
-yy622:
+yy620:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy656;
+ if (yych == 't') goto yy657;
goto yy284;
+yy621:
+ ++YYCURSOR;
+#line 142 "../src/options/parse_opts.re"
+ { globopts.cFlag = true; goto opt; }
+#line 2560 "src/options/parse_opts.cc"
yy623:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'w') goto yy657;
+ if (yych == 't') goto yy658;
goto yy284;
yy624:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy658;
+ if (yych == 'a') goto yy659;
goto yy284;
yy625:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy659;
+ if (yych == 'e') goto yy660;
goto yy284;
yy626:
- ++YYCURSOR;
-#line 186 "../src/options/parse_opts.re"
- { globopts.eager_skip = true; goto opt; }
-#line 2576 "src/options/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy661;
+ goto yy284;
+yy627:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy662;
+ goto yy284;
yy628:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy661;
+ if (yych == 'w') goto yy663;
goto yy284;
yy629:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy663;
+ if (yych == 'g') goto yy664;
goto yy284;
yy630:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy664;
+ if (yych <= 0x00) goto yy665;
goto yy284;
yy631:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy666;
- goto yy284;
-yy632:
++YYCURSOR;
-#line 156 "../src/options/parse_opts.re"
- { opts.set_sFlag (true); goto opt; }
+#line 187 "../src/options/parse_opts.re"
+ { globopts.eager_skip = true; goto opt; }
#line 2597 "src/options/parse_opts.cc"
+yy633:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy667;
+ goto yy284;
yy634:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy667;
+ if (yych == 'l') goto yy669;
goto yy284;
yy635:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy668;
+ if (yych <= 0x00) goto yy670;
goto yy284;
yy636:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy669;
+ if (yych == 'i') goto yy672;
goto yy284;
yy637:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy670;
+ if (yych == 'r') goto yy673;
goto yy284;
yy638:
++YYCURSOR;
-#line 149 "../src/options/parse_opts.re"
- { globopts.version = false; goto opt; }
-#line 2618 "src/options/parse_opts.cc"
+#line 156 "../src/options/parse_opts.re"
+ { opts.set_sFlag (true); goto opt; }
+#line 2622 "src/options/parse_opts.cc"
yy640:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy671;
+ if (yych == 'f') goto yy674;
goto yy284;
yy641:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy672;
+ if (yych == 'o') goto yy675;
goto yy284;
yy642:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy673;
+ if (yych == 'd') goto yy676;
goto yy284;
yy643:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy675;
+ if (yych == '-') goto yy677;
goto yy284;
yy644:
+ ++YYCURSOR;
+#line 149 "../src/options/parse_opts.re"
+ { globopts.version = false; goto opt; }
+#line 2643 "src/options/parse_opts.cc"
+yy646:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy678;
+ goto yy284;
+yy647:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy679;
+ goto yy284;
+yy648:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy680;
+ goto yy284;
+yy649:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy682;
+ goto yy284;
+yy650:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy676;
+ if (yych <= 0x00) goto yy683;
goto yy284;
-yy645:
+yy651:
++YYCURSOR;
#line 162 "../src/options/parse_opts.re"
{ opts.set_encoding(Enc::UCS2); goto opt; }
-#line 2643 "src/options/parse_opts.cc"
-yy647:
+#line 2668 "src/options/parse_opts.cc"
+yy653:
++YYCURSOR;
#line 152 "../src/options/parse_opts.re"
{ opts.set_bFlag (true); goto opt; }
-#line 2648 "src/options/parse_opts.cc"
-yy649:
+#line 2673 "src/options/parse_opts.cc"
+yy655:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy678;
+ if (yych == 't') goto yy685;
goto yy284;
-yy650:
+yy656:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy679;
+ if (yych == 'd') goto yy686;
goto yy284;
-yy651:
+yy657:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy680;
+ if (yych == 'o') goto yy687;
goto yy284;
-yy652:
+yy658:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy681;
+ if (yych <= 0x00) goto yy688;
goto yy284;
-yy653:
+yy659:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy683;
+ if (yych == 't') goto yy690;
goto yy284;
-yy654:
+yy660:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy684;
+ if (yych == '-') goto yy691;
goto yy284;
-yy655:
+yy661:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy685;
+ if (yych <= 0x00) goto yy692;
goto yy284;
-yy656:
+yy662:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy687;
+ if (yych <= 0x00) goto yy694;
goto yy284;
-yy657:
+yy663:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy689;
+ if (yych <= 0x00) goto yy696;
goto yy284;
-yy658:
+yy664:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy691;
+ if (yych == 'o') goto yy698;
goto yy284;
-yy659:
+yy665:
++YYCURSOR;
-#line 196 "../src/options/parse_opts.re"
+#line 197 "../src/options/parse_opts.re"
{ globopts.dump_interf = true; goto opt; }
-#line 2693 "src/options/parse_opts.cc"
-yy661:
+#line 2718 "src/options/parse_opts.cc"
+yy667:
++YYCURSOR;
#line 176 "../src/options/parse_opts.re"
{ NEXT_ARG("--empty-class", opt_empty_class); }
-#line 2698 "src/options/parse_opts.cc"
-yy663:
+#line 2723 "src/options/parse_opts.cc"
+yy669:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy692;
+ if (yych == 'i') goto yy699;
goto yy284;
-yy664:
+yy670:
++YYCURSOR;
#line 145 "../src/options/parse_opts.re"
{ globopts.FFlag = true; goto opt; }
-#line 2707 "src/options/parse_opts.cc"
-yy666:
+#line 2732 "src/options/parse_opts.cc"
+yy672:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy693;
+ if (yych == 'n') goto yy700;
goto yy284;
-yy667:
+yy673:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy694;
+ if (yych == 'm') goto yy701;
goto yy284;
-yy668:
+yy674:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy695;
+ if (yych == 'o') goto yy702;
goto yy284;
-yy669:
+yy675:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy696;
+ if (yych == 'n') goto yy703;
goto yy284;
-yy670:
+yy676:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy698;
+ if (yych <= 0x00) goto yy704;
goto yy284;
-yy671:
+yy677:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy699;
+ if (yych == 't') goto yy706;
goto yy284;
-yy672:
+yy678:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy700;
+ if (yych == 'e') goto yy707;
goto yy284;
-yy673:
+yy679:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy708;
+ goto yy284;
+yy680:
++YYCURSOR;
-#line 179 "../src/options/parse_opts.re"
+#line 180 "../src/options/parse_opts.re"
{ goto opt; }
-#line 2740 "src/options/parse_opts.cc"
-yy675:
+#line 2769 "src/options/parse_opts.cc"
+yy682:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy701;
+ if (yych == 't') goto yy709;
goto yy284;
-yy676:
+yy683:
++YYCURSOR;
#line 173 "../src/options/parse_opts.re"
{ NEXT_ARG("-t, --type-header", opt_header); }
-#line 2749 "src/options/parse_opts.cc"
-yy678:
+#line 2778 "src/options/parse_opts.cc"
+yy685:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy702;
+ if (yych == 'i') goto yy710;
goto yy284;
-yy679:
+yy686:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy703;
+ if (yych <= 0x00) goto yy711;
goto yy284;
-yy680:
+yy687:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy705;
+ if (yych == 's') goto yy713;
goto yy284;
-yy681:
+yy688:
++YYCURSOR;
#line 153 "../src/options/parse_opts.re"
{ opts.set_dFlag (true); goto opt; }
-#line 2766 "src/options/parse_opts.cc"
-yy683:
+#line 2795 "src/options/parse_opts.cc"
+yy690:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy706;
+ if (yych == 'i') goto yy714;
goto yy284;
-yy684:
+yy691:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy707;
+ if (yych == 's') goto yy715;
goto yy284;
-yy685:
+yy692:
++YYCURSOR;
-#line 191 "../src/options/parse_opts.re"
+#line 192 "../src/options/parse_opts.re"
{ globopts.dump_dfa_det = true; goto opt; }
-#line 2779 "src/options/parse_opts.cc"
-yy687:
+#line 2808 "src/options/parse_opts.cc"
+yy694:
++YYCURSOR;
-#line 193 "../src/options/parse_opts.re"
+#line 194 "../src/options/parse_opts.re"
{ globopts.dump_dfa_min = true; goto opt; }
-#line 2784 "src/options/parse_opts.cc"
-yy689:
- ++YYCURSOR;
-#line 190 "../src/options/parse_opts.re"
- { globopts.dump_dfa_raw = true; goto opt; }
-#line 2789 "src/options/parse_opts.cc"
-yy691:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy708;
- goto yy284;
-yy692:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy709;
- goto yy284;
-yy693:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy710;
- goto yy284;
-yy694:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy711;
- goto yy284;
-yy695:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy713;
- goto yy284;
+#line 2813 "src/options/parse_opts.cc"
yy696:
++YYCURSOR;
-#line 184 "../src/options/parse_opts.re"
- { globopts.lookahead = false; goto opt; }
-#line 2814 "src/options/parse_opts.cc"
+#line 191 "../src/options/parse_opts.re"
+ { globopts.dump_dfa_raw = true; goto opt; }
+#line 2818 "src/options/parse_opts.cc"
yy698:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy714;
+ if (yych == 'p') goto yy716;
goto yy284;
yy699:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy715;
+ if (yych == 'c') goto yy717;
goto yy284;
yy700:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy716;
+ if (yych == 'g') goto yy718;
goto yy284;
yy701:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy718;
+ if (yych == 'a') goto yy719;
goto yy284;
yy702:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'v') goto yy719;
+ if (yych <= 0x00) goto yy720;
goto yy284;
yy703:
- ++YYCURSOR;
-#line 158 "../src/options/parse_opts.re"
- { opts.set_bCaseInverted (true); goto opt; }
-#line 2839 "src/options/parse_opts.cc"
-yy705:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy720;
+ if (yych == '-') goto yy722;
goto yy284;
+yy704:
+ ++YYCURSOR;
+#line 185 "../src/options/parse_opts.re"
+ { globopts.lookahead = false; goto opt; }
+#line 2847 "src/options/parse_opts.cc"
yy706:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy722;
+ if (yych == 'a') goto yy723;
goto yy284;
yy707:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy723;
+ if (yych == 's') goto yy724;
goto yy284;
yy708:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy724;
+ if (yych <= 0x00) goto yy725;
goto yy284;
yy709:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy725;
+ if (yych == 'e') goto yy727;
goto yy284;
yy710:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy726;
+ if (yych == 'v') goto yy728;
goto yy284;
yy711:
++YYCURSOR;
-#line 155 "../src/options/parse_opts.re"
- { opts.set_iFlag (true); goto opt; }
-#line 2868 "src/options/parse_opts.cc"
+#line 158 "../src/options/parse_opts.re"
+ { opts.set_bCaseInverted (true); goto opt; }
+#line 2872 "src/options/parse_opts.cc"
yy713:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy727;
+ if (yych <= 0x00) goto yy729;
goto yy284;
yy714:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy728;
+ if (yych == 'o') goto yy731;
goto yy284;
yy715:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy729;
+ if (yych == 't') goto yy732;
goto yy284;
yy716:
- ++YYCURSOR;
-#line 183 "../src/options/parse_opts.re"
- { NEXT_ARG("--posix-closure", opt_posix_closure); }
-#line 2885 "src/options/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy733;
+ goto yy284;
+yy717:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'y') goto yy734;
+ goto yy284;
yy718:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy731;
+ if (yych <= 0x00) goto yy735;
goto yy284;
yy719:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy733;
+ if (yych == 't') goto yy737;
goto yy284;
yy720:
++YYCURSOR;
-#line 154 "../src/options/parse_opts.re"
- { opts.set_gFlag (true); goto opt; }
-#line 2898 "src/options/parse_opts.cc"
+#line 155 "../src/options/parse_opts.re"
+ { opts.set_iFlag (true); goto opt; }
+#line 2905 "src/options/parse_opts.cc"
yy722:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy734;
+ if (yych == 'd') goto yy738;
goto yy284;
yy723:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy735;
+ if (yych == 'g') goto yy739;
goto yy284;
yy724:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy736;
+ if (yych <= 0x00) goto yy740;
goto yy284;
yy725:
+ ++YYCURSOR;
+#line 184 "../src/options/parse_opts.re"
+ { NEXT_ARG("--posix-closure", opt_posix_closure); }
+#line 2922 "src/options/parse_opts.cc"
+yy727:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy738;
+ if (yych <= 0x00) goto yy742;
goto yy284;
-yy726:
+yy728:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy740;
+ if (yych == 'e') goto yy744;
goto yy284;
-yy727:
+yy729:
+ ++YYCURSOR;
+#line 154 "../src/options/parse_opts.re"
+ { opts.set_gFlag (true); goto opt; }
+#line 2935 "src/options/parse_opts.cc"
+yy731:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy742;
+ if (yych == 'n') goto yy745;
goto yy284;
-yy728:
+yy732:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy743;
+ if (yych == 'a') goto yy746;
goto yy284;
-yy729:
+yy733:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy747;
+ goto yy284;
+yy734:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy749;
+ goto yy284;
+yy735:
+ ++YYCURSOR;
+#line 178 "../src/options/parse_opts.re"
+ { NEXT_ARG("--input-encoding", opt_input_encoding); }
+#line 2956 "src/options/parse_opts.cc"
+yy737:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy751;
+ goto yy284;
+yy738:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy753;
+ goto yy284;
+yy739:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy754;
+ goto yy284;
+yy740:
++YYCURSOR;
#line 166 "../src/options/parse_opts.re"
{
opts.set_posix_semantics(true);
goto opt;
}
-#line 2935 "src/options/parse_opts.cc"
-yy731:
+#line 2977 "src/options/parse_opts.cc"
+yy742:
++YYCURSOR;
#line 144 "../src/options/parse_opts.re"
{ globopts.fFlag = true; goto opt; }
-#line 2940 "src/options/parse_opts.cc"
-yy733:
+#line 2982 "src/options/parse_opts.cc"
+yy744:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy744;
+ if (yych <= 0x00) goto yy755;
goto yy284;
-yy734:
+yy745:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy746;
+ if (yych <= 0x00) goto yy757;
goto yy284;
-yy735:
+yy746:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy748;
+ if (yych == 't') goto yy759;
goto yy284;
-yy736:
+yy747:
++YYCURSOR;
-#line 192 "../src/options/parse_opts.re"
+#line 193 "../src/options/parse_opts.re"
{ globopts.dump_dfa_tagopt = true; goto opt; }
-#line 2957 "src/options/parse_opts.cc"
-yy738:
+#line 2999 "src/options/parse_opts.cc"
+yy749:
++YYCURSOR;
#line 174 "../src/options/parse_opts.re"
{ NEXT_ARG("--encoding-policy", opt_encoding_policy); }
-#line 2962 "src/options/parse_opts.cc"
-yy740:
+#line 3004 "src/options/parse_opts.cc"
+yy751:
++YYCURSOR;
#line 177 "../src/options/parse_opts.re"
{ NEXT_ARG("--location-format", opt_location_format); }
-#line 2967 "src/options/parse_opts.cc"
-yy742:
+#line 3009 "src/options/parse_opts.cc"
+yy753:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy749;
+ if (yych == 't') goto yy760;
goto yy284;
-yy743:
+yy754:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy750;
+ if (yych <= 0x00) goto yy761;
goto yy284;
-yy744:
+yy755:
++YYCURSOR;
#line 157 "../src/options/parse_opts.re"
{ opts.set_bCaseInsensitive (true); goto opt; }
-#line 2980 "src/options/parse_opts.cc"
-yy746:
+#line 3022 "src/options/parse_opts.cc"
+yy757:
++YYCURSOR;
-#line 182 "../src/options/parse_opts.re"
+#line 183 "../src/options/parse_opts.re"
{ NEXT_ARG("--dfa-minimization", opt_dfa_minimization); }
-#line 2985 "src/options/parse_opts.cc"
-yy748:
+#line 3027 "src/options/parse_opts.cc"
+yy759:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy752;
+ if (yych == 's') goto yy763;
goto yy284;
-yy749:
+yy760:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy753;
+ if (yych == 'e') goto yy764;
goto yy284;
-yy750:
+yy761:
++YYCURSOR;
-#line 185 "../src/options/parse_opts.re"
+#line 186 "../src/options/parse_opts.re"
{ globopts.optimize_tags = false; goto opt; }
-#line 2998 "src/options/parse_opts.cc"
-yy752:
+#line 3040 "src/options/parse_opts.cc"
+yy763:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy754;
+ if (yych <= 0x00) goto yy765;
goto yy284;
-yy753:
+yy764:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy756;
+ if (yych <= 0x00) goto yy767;
goto yy284;
-yy754:
+yy765:
++YYCURSOR;
-#line 197 "../src/options/parse_opts.re"
+#line 198 "../src/options/parse_opts.re"
{ globopts.dump_closure_stats = true; goto opt; }
-#line 3011 "src/options/parse_opts.cc"
-yy756:
+#line 3053 "src/options/parse_opts.cc"
+yy767:
++YYCURSOR;
#line 148 "../src/options/parse_opts.re"
{ globopts.bNoGenerationDate = true; goto opt; }
-#line 3016 "src/options/parse_opts.cc"
+#line 3058 "src/options/parse_opts.cc"
}
-#line 198 "../src/options/parse_opts.re"
+#line 199 "../src/options/parse_opts.re"
opt_output:
-#line 3023 "src/options/parse_opts.cc"
+#line 3065 "src/options/parse_opts.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
128, 128, 128, 128, 128, 128, 128, 128,
};
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x00) goto yy760;
- if (yych != '-') goto yy762;
-yy760:
+ if (yych <= 0x00) goto yy771;
+ if (yych != '-') goto yy773;
+yy771:
++YYCURSOR;
-#line 202 "../src/options/parse_opts.re"
+#line 203 "../src/options/parse_opts.re"
{ ERRARG("-o, --output", "filename", *argv); }
-#line 3067 "src/options/parse_opts.cc"
-yy762:
+#line 3109 "src/options/parse_opts.cc"
+yy773:
yych = (YYCTYPE)*++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy762;
+ goto yy773;
}
++YYCURSOR;
-#line 203 "../src/options/parse_opts.re"
+#line 204 "../src/options/parse_opts.re"
{ opts.set_output_file (*argv); goto opt; }
-#line 3076 "src/options/parse_opts.cc"
+#line 3118 "src/options/parse_opts.cc"
}
-#line 204 "../src/options/parse_opts.re"
+#line 205 "../src/options/parse_opts.re"
opt_header:
-#line 3083 "src/options/parse_opts.cc"
+#line 3125 "src/options/parse_opts.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
128, 128, 128, 128, 128, 128, 128, 128,
};
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x00) goto yy768;
- if (yych != '-') goto yy770;
-yy768:
+ if (yych <= 0x00) goto yy779;
+ if (yych != '-') goto yy781;
+yy779:
++YYCURSOR;
-#line 208 "../src/options/parse_opts.re"
+#line 209 "../src/options/parse_opts.re"
{ ERRARG("-t, --type-header", "filename", *argv); }
-#line 3127 "src/options/parse_opts.cc"
-yy770:
+#line 3169 "src/options/parse_opts.cc"
+yy781:
yych = (YYCTYPE)*++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy770;
+ goto yy781;
}
++YYCURSOR;
-#line 209 "../src/options/parse_opts.re"
+#line 210 "../src/options/parse_opts.re"
{ opts.set_header_file (*argv); goto opt; }
-#line 3136 "src/options/parse_opts.cc"
+#line 3178 "src/options/parse_opts.cc"
}
-#line 210 "../src/options/parse_opts.re"
+#line 211 "../src/options/parse_opts.re"
opt_incpath:
-#line 3143 "src/options/parse_opts.cc"
+#line 3185 "src/options/parse_opts.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
128, 128, 128, 128, 128, 128, 128, 128,
};
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x00) goto yy776;
- if (yych != '-') goto yy778;
-yy776:
+ if (yych <= 0x00) goto yy787;
+ if (yych != '-') goto yy789;
+yy787:
++YYCURSOR;
-#line 214 "../src/options/parse_opts.re"
+#line 215 "../src/options/parse_opts.re"
{ ERRARG("-I", "filename", *argv); }
-#line 3187 "src/options/parse_opts.cc"
-yy778:
+#line 3229 "src/options/parse_opts.cc"
+yy789:
yych = (YYCTYPE)*++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy778;
+ goto yy789;
}
++YYCURSOR;
-#line 215 "../src/options/parse_opts.re"
+#line 216 "../src/options/parse_opts.re"
{ globopts.incpaths.push_back(*argv); goto opt; }
-#line 3196 "src/options/parse_opts.cc"
+#line 3238 "src/options/parse_opts.cc"
}
-#line 216 "../src/options/parse_opts.re"
+#line 217 "../src/options/parse_opts.re"
opt_encoding_policy:
-#line 3203 "src/options/parse_opts.cc"
+#line 3245 "src/options/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 'h') {
- if (yych == 'f') goto yy786;
+ if (yych == 'f') goto yy797;
} else {
- if (yych <= 'i') goto yy787;
- if (yych == 's') goto yy788;
+ if (yych <= 'i') goto yy798;
+ if (yych == 's') goto yy799;
}
++YYCURSOR;
-yy785:
-#line 220 "../src/options/parse_opts.re"
+yy796:
+#line 221 "../src/options/parse_opts.re"
{ ERRARG("--encoding-policy", "ignore | substitute | fail", *argv); }
-#line 3217 "src/options/parse_opts.cc"
-yy786:
+#line 3259 "src/options/parse_opts.cc"
+yy797:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy789;
- goto yy785;
-yy787:
+ if (yych == 'a') goto yy800;
+ goto yy796;
+yy798:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'g') goto yy791;
- goto yy785;
-yy788:
+ if (yych == 'g') goto yy802;
+ goto yy796;
+yy799:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'u') goto yy792;
- goto yy785;
-yy789:
+ if (yych == 'u') goto yy803;
+ goto yy796;
+yy800:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy793;
-yy790:
+ if (yych == 'i') goto yy804;
+yy801:
YYCURSOR = YYMARKER;
- goto yy785;
-yy791:
+ goto yy796;
+yy802:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy794;
- goto yy790;
-yy792:
+ if (yych == 'n') goto yy805;
+ goto yy801;
+yy803:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy795;
- goto yy790;
-yy793:
+ if (yych == 'b') goto yy806;
+ goto yy801;
+yy804:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy796;
- goto yy790;
-yy794:
+ if (yych == 'l') goto yy807;
+ goto yy801;
+yy805:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy797;
- goto yy790;
-yy795:
+ if (yych == 'o') goto yy808;
+ goto yy801;
+yy806:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy798;
- goto yy790;
-yy796:
+ if (yych == 's') goto yy809;
+ goto yy801;
+yy807:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy799;
- goto yy790;
-yy797:
+ if (yych <= 0x00) goto yy810;
+ goto yy801;
+yy808:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy801;
- goto yy790;
-yy798:
+ if (yych == 'r') goto yy812;
+ goto yy801;
+yy809:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy802;
- goto yy790;
-yy799:
+ if (yych == 't') goto yy813;
+ goto yy801;
+yy810:
++YYCURSOR;
-#line 223 "../src/options/parse_opts.re"
+#line 224 "../src/options/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; }
-#line 3272 "src/options/parse_opts.cc"
-yy801:
+#line 3314 "src/options/parse_opts.cc"
+yy812:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy803;
- goto yy790;
-yy802:
+ if (yych == 'e') goto yy814;
+ goto yy801;
+yy813:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy804;
- goto yy790;
-yy803:
+ if (yych == 'i') goto yy815;
+ goto yy801;
+yy814:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy805;
- goto yy790;
-yy804:
+ if (yych <= 0x00) goto yy816;
+ goto yy801;
+yy815:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy807;
- goto yy790;
-yy805:
+ if (yych == 't') goto yy818;
+ goto yy801;
+yy816:
++YYCURSOR;
-#line 221 "../src/options/parse_opts.re"
+#line 222 "../src/options/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; }
-#line 3293 "src/options/parse_opts.cc"
-yy807:
+#line 3335 "src/options/parse_opts.cc"
+yy818:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'u') goto yy790;
+ if (yych != 'u') goto yy801;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 't') goto yy790;
+ if (yych != 't') goto yy801;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy790;
+ if (yych != 'e') goto yy801;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych >= 0x01) goto yy790;
+ if (yych >= 0x01) goto yy801;
++YYCURSOR;
-#line 222 "../src/options/parse_opts.re"
+#line 223 "../src/options/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; }
-#line 3306 "src/options/parse_opts.cc"
+#line 3348 "src/options/parse_opts.cc"
}
-#line 224 "../src/options/parse_opts.re"
+#line 225 "../src/options/parse_opts.re"
opt_input:
-#line 3313 "src/options/parse_opts.cc"
+#line 3355 "src/options/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 'b') goto yy815;
- if (yych <= 'c') goto yy817;
- if (yych <= 'd') goto yy818;
-yy815:
+ if (yych <= 'b') goto yy826;
+ if (yych <= 'c') goto yy828;
+ if (yych <= 'd') goto yy829;
+yy826:
++YYCURSOR;
-yy816:
-#line 228 "../src/options/parse_opts.re"
+yy827:
+#line 229 "../src/options/parse_opts.re"
{ ERRARG("--input", "default | custom", *argv); }
-#line 3325 "src/options/parse_opts.cc"
-yy817:
+#line 3367 "src/options/parse_opts.cc"
+yy828:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'u') goto yy819;
- goto yy816;
-yy818:
+ if (yych == 'u') goto yy830;
+ goto yy827;
+yy829:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy821;
- goto yy816;
-yy819:
+ if (yych == 'e') goto yy832;
+ goto yy827;
+yy830:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy822;
-yy820:
+ if (yych == 's') goto yy833;
+yy831:
YYCURSOR = YYMARKER;
- goto yy816;
-yy821:
+ goto yy827;
+yy832:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy823;
- goto yy820;
-yy822:
+ if (yych == 'f') goto yy834;
+ goto yy831;
+yy833:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy824;
- goto yy820;
-yy823:
+ if (yych == 't') goto yy835;
+ goto yy831;
+yy834:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy825;
- goto yy820;
-yy824:
+ if (yych == 'a') goto yy836;
+ goto yy831;
+yy835:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy826;
- goto yy820;
-yy825:
+ if (yych == 'o') goto yy837;
+ goto yy831;
+yy836:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy827;
- goto yy820;
-yy826:
+ if (yych == 'u') goto yy838;
+ goto yy831;
+yy837:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy828;
- goto yy820;
-yy827:
+ if (yych == 'm') goto yy839;
+ goto yy831;
+yy838:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy829;
- goto yy820;
-yy828:
+ if (yych == 'l') goto yy840;
+ goto yy831;
+yy839:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy830;
- goto yy820;
-yy829:
+ if (yych <= 0x00) goto yy841;
+ goto yy831;
+yy840:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy832;
- goto yy820;
-yy830:
+ if (yych == 't') goto yy843;
+ goto yy831;
+yy841:
++YYCURSOR;
-#line 230 "../src/options/parse_opts.re"
+#line 231 "../src/options/parse_opts.re"
{ opts.set_input_api(INPUT_CUSTOM); goto opt; }
-#line 3380 "src/options/parse_opts.cc"
-yy832:
+#line 3422 "src/options/parse_opts.cc"
+yy843:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych >= 0x01) goto yy820;
+ if (yych >= 0x01) goto yy831;
++YYCURSOR;
-#line 229 "../src/options/parse_opts.re"
+#line 230 "../src/options/parse_opts.re"
{ opts.set_input_api(INPUT_DEFAULT); goto opt; }
-#line 3387 "src/options/parse_opts.cc"
+#line 3429 "src/options/parse_opts.cc"
}
-#line 231 "../src/options/parse_opts.re"
+#line 232 "../src/options/parse_opts.re"
opt_empty_class:
-#line 3394 "src/options/parse_opts.cc"
+#line 3436 "src/options/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych == 'e') goto yy839;
- if (yych == 'm') goto yy840;
+ if (yych == 'e') goto yy850;
+ if (yych == 'm') goto yy851;
++YYCURSOR;
-yy838:
-#line 235 "../src/options/parse_opts.re"
+yy849:
+#line 236 "../src/options/parse_opts.re"
{ ERRARG("--empty-class", "match-empty | match-none | error", *argv); }
-#line 3404 "src/options/parse_opts.cc"
-yy839:
+#line 3446 "src/options/parse_opts.cc"
+yy850:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'r') goto yy841;
- goto yy838;
-yy840:
+ if (yych == 'r') goto yy852;
+ goto yy849;
+yy851:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy843;
- goto yy838;
-yy841:
+ if (yych == 'a') goto yy854;
+ goto yy849;
+yy852:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy844;
-yy842:
+ if (yych == 'r') goto yy855;
+yy853:
YYCURSOR = YYMARKER;
- goto yy838;
-yy843:
+ goto yy849;
+yy854:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy845;
- goto yy842;
-yy844:
+ if (yych == 't') goto yy856;
+ goto yy853;
+yy855:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy846;
- goto yy842;
-yy845:
+ if (yych == 'o') goto yy857;
+ goto yy853;
+yy856:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy847;
- goto yy842;
-yy846:
+ if (yych == 'c') goto yy858;
+ goto yy853;
+yy857:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy848;
- goto yy842;
-yy847:
+ if (yych == 'r') goto yy859;
+ goto yy853;
+yy858:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy849;
- goto yy842;
-yy848:
+ if (yych == 'h') goto yy860;
+ goto yy853;
+yy859:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy850;
- goto yy842;
-yy849:
+ if (yych <= 0x00) goto yy861;
+ goto yy853;
+yy860:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy852;
- goto yy842;
-yy850:
+ if (yych == '-') goto yy863;
+ goto yy853;
+yy861:
++YYCURSOR;
-#line 238 "../src/options/parse_opts.re"
+#line 239 "../src/options/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; }
-#line 3451 "src/options/parse_opts.cc"
-yy852:
+#line 3493 "src/options/parse_opts.cc"
+yy863:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy853;
- if (yych == 'n') goto yy854;
- goto yy842;
-yy853:
+ if (yych == 'e') goto yy864;
+ if (yych == 'n') goto yy865;
+ goto yy853;
+yy864:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy855;
- goto yy842;
-yy854:
+ if (yych == 'm') goto yy866;
+ goto yy853;
+yy865:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy856;
- goto yy842;
-yy855:
+ if (yych == 'o') goto yy867;
+ goto yy853;
+yy866:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy857;
- goto yy842;
-yy856:
+ if (yych == 'p') goto yy868;
+ goto yy853;
+yy867:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy858;
- goto yy842;
-yy857:
+ if (yych == 'n') goto yy869;
+ goto yy853;
+yy868:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy859;
- goto yy842;
-yy858:
+ if (yych == 't') goto yy870;
+ goto yy853;
+yy869:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy860;
- goto yy842;
-yy859:
+ if (yych == 'e') goto yy871;
+ goto yy853;
+yy870:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy861;
- goto yy842;
-yy860:
+ if (yych == 'y') goto yy872;
+ goto yy853;
+yy871:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy862;
- goto yy842;
-yy861:
+ if (yych <= 0x00) goto yy873;
+ goto yy853;
+yy872:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy864;
- goto yy842;
-yy862:
+ if (yych <= 0x00) goto yy875;
+ goto yy853;
+yy873:
++YYCURSOR;
-#line 237 "../src/options/parse_opts.re"
+#line 238 "../src/options/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; }
-#line 3497 "src/options/parse_opts.cc"
-yy864:
+#line 3539 "src/options/parse_opts.cc"
+yy875:
++YYCURSOR;
-#line 236 "../src/options/parse_opts.re"
+#line 237 "../src/options/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; }
-#line 3502 "src/options/parse_opts.cc"
+#line 3544 "src/options/parse_opts.cc"
}
-#line 239 "../src/options/parse_opts.re"
+#line 240 "../src/options/parse_opts.re"
opt_location_format:
-#line 3509 "src/options/parse_opts.cc"
+#line 3551 "src/options/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych == 'g') goto yy870;
- if (yych == 'm') goto yy871;
+ if (yych == 'g') goto yy881;
+ if (yych == 'm') goto yy882;
++YYCURSOR;
-yy869:
-#line 243 "../src/options/parse_opts.re"
+yy880:
+#line 244 "../src/options/parse_opts.re"
{ ERRARG("--location-format", "gnu | msvc", *argv); }
-#line 3519 "src/options/parse_opts.cc"
-yy870:
+#line 3561 "src/options/parse_opts.cc"
+yy881:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'n') goto yy872;
- goto yy869;
-yy871:
+ if (yych == 'n') goto yy883;
+ goto yy880;
+yy882:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 's') goto yy874;
- goto yy869;
-yy872:
+ if (yych == 's') goto yy885;
+ goto yy880;
+yy883:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy875;
-yy873:
+ if (yych == 'u') goto yy886;
+yy884:
YYCURSOR = YYMARKER;
- goto yy869;
-yy874:
+ goto yy880;
+yy885:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'v') goto yy876;
- goto yy873;
-yy875:
+ if (yych == 'v') goto yy887;
+ goto yy884;
+yy886:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy877;
- goto yy873;
-yy876:
+ if (yych <= 0x00) goto yy888;
+ goto yy884;
+yy887:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy879;
- goto yy873;
-yy877:
+ if (yych == 'c') goto yy890;
+ goto yy884;
+yy888:
++YYCURSOR;
-#line 244 "../src/options/parse_opts.re"
+#line 245 "../src/options/parse_opts.re"
{ msg.locfmt = LOCFMT_GNU; goto opt; }
-#line 3550 "src/options/parse_opts.cc"
-yy879:
+#line 3592 "src/options/parse_opts.cc"
+yy890:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych >= 0x01) goto yy873;
+ if (yych >= 0x01) goto yy884;
++YYCURSOR;
-#line 245 "../src/options/parse_opts.re"
+#line 246 "../src/options/parse_opts.re"
{ msg.locfmt = LOCFMT_MSVC; goto opt; }
-#line 3557 "src/options/parse_opts.cc"
+#line 3599 "src/options/parse_opts.cc"
}
-#line 246 "../src/options/parse_opts.re"
+#line 247 "../src/options/parse_opts.re"
+
+
+opt_input_encoding:
+
+#line 3606 "src/options/parse_opts.cc"
+{
+ YYCTYPE yych;
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == 'a') goto yy897;
+ if (yych == 'u') goto yy898;
+ ++YYCURSOR;
+yy896:
+#line 251 "../src/options/parse_opts.re"
+ { ERRARG("--input-encoding", "ascii | utf8", *argv); }
+#line 3616 "src/options/parse_opts.cc"
+yy897:
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 's') goto yy899;
+ goto yy896;
+yy898:
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 't') goto yy901;
+ goto yy896;
+yy899:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy902;
+yy900:
+ YYCURSOR = YYMARKER;
+ goto yy896;
+yy901:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'f') goto yy903;
+ goto yy900;
+yy902:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy904;
+ goto yy900;
+yy903:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '8') goto yy905;
+ goto yy900;
+yy904:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy906;
+ goto yy900;
+yy905:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy907;
+ goto yy900;
+yy906:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy909;
+ goto yy900;
+yy907:
+ ++YYCURSOR;
+#line 253 "../src/options/parse_opts.re"
+ { globopts.input_encoding = Enc::UTF8; goto opt; }
+#line 3659 "src/options/parse_opts.cc"
+yy909:
+ ++YYCURSOR;
+#line 252 "../src/options/parse_opts.re"
+ { globopts.input_encoding = Enc::ASCII; goto opt; }
+#line 3664 "src/options/parse_opts.cc"
+}
+#line 254 "../src/options/parse_opts.re"
opt_dfa_minimization:
-#line 3564 "src/options/parse_opts.cc"
+#line 3671 "src/options/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych == 'm') goto yy886;
- if (yych == 't') goto yy887;
+ if (yych == 'm') goto yy915;
+ if (yych == 't') goto yy916;
++YYCURSOR;
-yy885:
-#line 250 "../src/options/parse_opts.re"
+yy914:
+#line 258 "../src/options/parse_opts.re"
{ ERRARG("--dfa-minimization", "table | moore", *argv); }
-#line 3574 "src/options/parse_opts.cc"
-yy886:
+#line 3681 "src/options/parse_opts.cc"
+yy915:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'o') goto yy888;
- goto yy885;
-yy887:
+ if (yych == 'o') goto yy917;
+ goto yy914;
+yy916:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy890;
- goto yy885;
-yy888:
+ if (yych == 'a') goto yy919;
+ goto yy914;
+yy917:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy891;
-yy889:
+ if (yych == 'o') goto yy920;
+yy918:
YYCURSOR = YYMARKER;
- goto yy885;
-yy890:
+ goto yy914;
+yy919:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy892;
- goto yy889;
-yy891:
+ if (yych == 'b') goto yy921;
+ goto yy918;
+yy920:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy893;
- goto yy889;
-yy892:
+ if (yych == 'r') goto yy922;
+ goto yy918;
+yy921:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy894;
- goto yy889;
-yy893:
+ if (yych == 'l') goto yy923;
+ goto yy918;
+yy922:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy895;
- goto yy889;
-yy894:
+ if (yych == 'e') goto yy924;
+ goto yy918;
+yy923:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy896;
- goto yy889;
-yy895:
+ if (yych == 'e') goto yy925;
+ goto yy918;
+yy924:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy897;
- goto yy889;
-yy896:
+ if (yych <= 0x00) goto yy926;
+ goto yy918;
+yy925:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy899;
- goto yy889;
-yy897:
+ if (yych <= 0x00) goto yy928;
+ goto yy918;
+yy926:
++YYCURSOR;
-#line 252 "../src/options/parse_opts.re"
+#line 260 "../src/options/parse_opts.re"
{ globopts.dfa_minimization = DFA_MINIMIZATION_MOORE; goto opt; }
-#line 3621 "src/options/parse_opts.cc"
-yy899:
+#line 3728 "src/options/parse_opts.cc"
+yy928:
++YYCURSOR;
-#line 251 "../src/options/parse_opts.re"
+#line 259 "../src/options/parse_opts.re"
{ globopts.dfa_minimization = DFA_MINIMIZATION_TABLE; goto opt; }
-#line 3626 "src/options/parse_opts.cc"
+#line 3733 "src/options/parse_opts.cc"
}
-#line 253 "../src/options/parse_opts.re"
+#line 261 "../src/options/parse_opts.re"
opt_posix_closure:
-#line 3633 "src/options/parse_opts.cc"
+#line 3740 "src/options/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych == 'g') goto yy905;
+ if (yych == 'g') goto yy934;
++YYCURSOR;
-yy904:
-#line 257 "../src/options/parse_opts.re"
+yy933:
+#line 265 "../src/options/parse_opts.re"
{ ERRARG("--posix-closure", "gor1 | gtop", *argv); }
-#line 3642 "src/options/parse_opts.cc"
-yy905:
+#line 3749 "src/options/parse_opts.cc"
+yy934:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'o') goto yy906;
- if (yych == 't') goto yy908;
- goto yy904;
-yy906:
+ if (yych == 'o') goto yy935;
+ if (yych == 't') goto yy937;
+ goto yy933;
+yy935:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy909;
-yy907:
+ if (yych == 'r') goto yy938;
+yy936:
YYCURSOR = YYMARKER;
- goto yy904;
-yy908:
+ goto yy933;
+yy937:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy910;
- goto yy907;
-yy909:
+ if (yych == 'o') goto yy939;
+ goto yy936;
+yy938:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '1') goto yy911;
- goto yy907;
-yy910:
+ if (yych == '1') goto yy940;
+ goto yy936;
+yy939:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy912;
- goto yy907;
-yy911:
+ if (yych == 'p') goto yy941;
+ goto yy936;
+yy940:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy913;
- goto yy907;
-yy912:
+ if (yych <= 0x00) goto yy942;
+ goto yy936;
+yy941:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy915;
- goto yy907;
-yy913:
+ if (yych <= 0x00) goto yy944;
+ goto yy936;
+yy942:
++YYCURSOR;
-#line 258 "../src/options/parse_opts.re"
+#line 266 "../src/options/parse_opts.re"
{ globopts.posix_closure = POSIX_CLOSURE_GOR1; goto opt; }
-#line 3678 "src/options/parse_opts.cc"
-yy915:
+#line 3785 "src/options/parse_opts.cc"
+yy944:
++YYCURSOR;
-#line 259 "../src/options/parse_opts.re"
+#line 267 "../src/options/parse_opts.re"
{ globopts.posix_closure = POSIX_CLOSURE_GTOP; goto opt; }
-#line 3683 "src/options/parse_opts.cc"
+#line 3790 "src/options/parse_opts.cc"
}
-#line 260 "../src/options/parse_opts.re"
+#line 268 "../src/options/parse_opts.re"
end:
-/* Generated by re2c 1.1.1 on Tue Feb 19 16:29:01 2019 */
+/* Generated by re2c 1.1.1 on Fri May 24 12:40:10 2019 */
#line 1 "../src/parse/lex.re"
#include "src/util/c99_stdint.h"
#include <stddef.h>
{
tok = cur;
const loc_t &loc = cur_loc();
+ #line 599 "../src/parse/lex.re"
-#line 2822 "src/parse/lex.cc"
+ if (globopts->input_encoding == Enc::ASCII) {
+
+#line 2825 "src/parse/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
}
yy476:
++YYCURSOR;
-#line 575 "../src/parse/lex.re"
+#line 580 "../src/parse/lex.re"
{ fail_if_eof(); return 0; }
-#line 2841 "src/parse/lex.cc"
+#line 2844 "src/parse/lex.cc"
yy478:
++YYCURSOR;
yy479:
-#line 581 "../src/parse/lex.re"
- { return static_cast<uint8_t>(tok[0]); }
-#line 2847 "src/parse/lex.cc"
+#line 582 "../src/parse/lex.re"
+ { return decode(tok); }
+#line 2850 "src/parse/lex.cc"
yy480:
++YYCURSOR;
-#line 576 "../src/parse/lex.re"
+#line 574 "../src/parse/lex.re"
{ msg.fatal(loc, "newline in character class"); }
-#line 2852 "src/parse/lex.cc"
+#line 2855 "src/parse/lex.cc"
yy482:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy480;
}
}
yy484:
-#line 579 "../src/parse/lex.re"
+#line 577 "../src/parse/lex.re"
{ msg.fatal(loc, "syntax error in escape sequence"); }
-#line 2913 "src/parse/lex.cc"
+#line 2916 "src/parse/lex.cc"
yy485:
++YYCURSOR;
yy486:
-#line 594 "../src/parse/lex.re"
+#line 595 "../src/parse/lex.re"
{
- msg.warn.useless_escape(loc, tok[1]);
- return static_cast<uint8_t>(tok[1]);
+ msg.warn.useless_escape(loc, tok, cur);
+ return decode(tok + 1);
}
-#line 2922 "src/parse/lex.cc"
+#line 2925 "src/parse/lex.cc"
yy487:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy480;
goto yy486;
yy488:
++YYCURSOR;
-#line 592 "../src/parse/lex.re"
+#line 593 "../src/parse/lex.re"
{ return static_cast<uint8_t>('-'); }
-#line 2931 "src/parse/lex.cc"
+#line 2934 "src/parse/lex.cc"
yy490:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '/') goto yy491;
if (yych <= '7') goto yy515;
yy491:
-#line 578 "../src/parse/lex.re"
+#line 576 "../src/parse/lex.re"
{ msg.fatal(loc, "syntax error in octal escape sequence"); }
-#line 2940 "src/parse/lex.cc"
+#line 2943 "src/parse/lex.cc"
yy492:
++YYCURSOR;
goto yy491;
if (yych <= 'f') goto yy517;
}
yy494:
-#line 577 "../src/parse/lex.re"
+#line 575 "../src/parse/lex.re"
{ msg.fatal(loc, "syntax error in hexadecimal escape sequence"); }
-#line 2958 "src/parse/lex.cc"
+#line 2961 "src/parse/lex.cc"
yy495:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
yy496:
++YYCURSOR;
-#line 591 "../src/parse/lex.re"
+#line 592 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2976 "src/parse/lex.cc"
+#line 2979 "src/parse/lex.cc"
yy498:
++YYCURSOR;
-#line 593 "../src/parse/lex.re"
+#line 594 "../src/parse/lex.re"
{ return static_cast<uint8_t>(']'); }
-#line 2981 "src/parse/lex.cc"
+#line 2984 "src/parse/lex.cc"
yy500:
++YYCURSOR;
-#line 584 "../src/parse/lex.re"
+#line 585 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2986 "src/parse/lex.cc"
+#line 2989 "src/parse/lex.cc"
yy502:
++YYCURSOR;
-#line 585 "../src/parse/lex.re"
+#line 586 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2991 "src/parse/lex.cc"
+#line 2994 "src/parse/lex.cc"
yy504:
++YYCURSOR;
-#line 586 "../src/parse/lex.re"
+#line 587 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2996 "src/parse/lex.cc"
+#line 2999 "src/parse/lex.cc"
yy506:
++YYCURSOR;
-#line 587 "../src/parse/lex.re"
+#line 588 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 3001 "src/parse/lex.cc"
+#line 3004 "src/parse/lex.cc"
yy508:
++YYCURSOR;
-#line 588 "../src/parse/lex.re"
+#line 589 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 3006 "src/parse/lex.cc"
+#line 3009 "src/parse/lex.cc"
yy510:
++YYCURSOR;
-#line 589 "../src/parse/lex.re"
+#line 590 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 3011 "src/parse/lex.cc"
+#line 3014 "src/parse/lex.cc"
yy512:
++YYCURSOR;
-#line 590 "../src/parse/lex.re"
+#line 591 "../src/parse/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 3016 "src/parse/lex.cc"
+#line 3019 "src/parse/lex.cc"
yy514:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
yy520:
++YYCURSOR;
-#line 583 "../src/parse/lex.re"
+#line 584 "../src/parse/lex.re"
{ return unesc_oct(tok, cur); }
-#line 3081 "src/parse/lex.cc"
+#line 3084 "src/parse/lex.cc"
yy522:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
}
yy524:
++YYCURSOR;
-#line 582 "../src/parse/lex.re"
+#line 583 "../src/parse/lex.re"
{ return unesc_hex(tok, cur); }
-#line 3110 "src/parse/lex.cc"
+#line 3113 "src/parse/lex.cc"
yy526:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
goto yy516;
}
}
-#line 598 "../src/parse/lex.re"
-
-}
+#line 601 "../src/parse/lex.re"
-bool Scanner::lex_str_chr(char quote, ASTChar &ast)
-{
- tok = cur;
- ast.loc = cur_loc();
- const loc_t &loc = ast.loc;
- bool ok = true;
-
-#line 3145 "src/parse/lex.cc"
+ }
+ else {
+
+#line 3142 "src/parse/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x00) goto yy530;
- if (yych == '\n') goto yy534;
- goto yy532;
+ if (yych <= 0x7F) {
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy530;
+ if (yych == '\n') goto yy534;
+ goto yy532;
+ } else {
+ if (yych <= '\r') goto yy536;
+ if (yych == '\\') goto yy537;
+ goto yy532;
+ }
} else {
- if (yych <= '\r') goto yy536;
- if (yych == '\\') goto yy537;
- goto yy532;
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy539;
+ if (yych <= 0xDF) goto yy541;
+ if (yych <= 0xE0) goto yy542;
+ goto yy543;
+ } else {
+ if (yych <= 0xF0) goto yy544;
+ if (yych <= 0xF3) goto yy545;
+ if (yych <= 0xF4) goto yy546;
+ goto yy539;
+ }
}
yy530:
++YYCURSOR;
-#line 614 "../src/parse/lex.re"
- { fail_if_eof(); ast.chr = 0; goto end; }
-#line 3164 "src/parse/lex.cc"
+#line 580 "../src/parse/lex.re"
+ { fail_if_eof(); return 0; }
+#line 3175 "src/parse/lex.cc"
yy532:
++YYCURSOR;
yy533:
-#line 616 "../src/parse/lex.re"
- { ok = tok[0] != quote; ast.chr = static_cast<uint8_t>(tok[0]); goto end; }
-#line 3170 "src/parse/lex.cc"
+#line 582 "../src/parse/lex.re"
+ { return decode(tok); }
+#line 3181 "src/parse/lex.cc"
yy534:
++YYCURSOR;
-#line 609 "../src/parse/lex.re"
- { msg.fatal(loc, "newline in character string"); }
-#line 3175 "src/parse/lex.cc"
+#line 574 "../src/parse/lex.re"
+ { msg.fatal(loc, "newline in character class"); }
+#line 3186 "src/parse/lex.cc"
yy536:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy534;
goto yy533;
yy537:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '`') {
- if (yych <= '3') {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy538;
- if (yych <= '\t') goto yy539;
- goto yy534;
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 'b') {
+ if (yych <= '7') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych >= 0x01) goto yy547;
+ } else {
+ if (yych <= '\n') goto yy534;
+ if (yych <= '\f') goto yy547;
+ goto yy549;
+ }
} else {
- if (yych == '\r') goto yy541;
- if (yych <= '/') goto yy539;
- goto yy542;
+ if (yych <= '-') {
+ if (yych <= ',') goto yy547;
+ goto yy550;
+ } else {
+ if (yych <= '/') goto yy547;
+ if (yych <= '3') goto yy552;
+ goto yy554;
+ }
}
} else {
- if (yych <= 'W') {
- if (yych <= '7') goto yy544;
- if (yych == 'U') goto yy545;
- goto yy539;
+ if (yych <= '[') {
+ if (yych <= 'U') {
+ if (yych <= 'T') goto yy547;
+ goto yy555;
+ } else {
+ if (yych == 'X') goto yy557;
+ goto yy547;
+ }
} else {
- if (yych <= 'X') goto yy547;
- if (yych == '\\') goto yy548;
- goto yy539;
+ if (yych <= ']') {
+ if (yych <= '\\') goto yy558;
+ goto yy560;
+ } else {
+ if (yych <= '`') goto yy547;
+ if (yych <= 'a') goto yy562;
+ goto yy564;
+ }
}
}
} else {
- if (yych <= 'q') {
- if (yych <= 'e') {
- if (yych <= 'a') goto yy550;
- if (yych <= 'b') goto yy552;
- goto yy539;
+ if (yych <= 'v') {
+ if (yych <= 'q') {
+ if (yych <= 'f') {
+ if (yych <= 'e') goto yy547;
+ goto yy566;
+ } else {
+ if (yych == 'n') goto yy568;
+ goto yy547;
+ }
} else {
- if (yych <= 'f') goto yy554;
- if (yych == 'n') goto yy556;
- goto yy539;
+ if (yych <= 's') {
+ if (yych <= 'r') goto yy570;
+ goto yy547;
+ } else {
+ if (yych <= 't') goto yy572;
+ if (yych <= 'u') goto yy557;
+ goto yy574;
+ }
}
} else {
- if (yych <= 'u') {
- if (yych <= 'r') goto yy558;
- if (yych <= 's') goto yy539;
- if (yych <= 't') goto yy560;
- goto yy547;
+ if (yych <= 0xDF) {
+ if (yych <= 'x') {
+ if (yych <= 'w') goto yy547;
+ goto yy576;
+ } else {
+ if (yych <= 0x7F) goto yy547;
+ if (yych >= 0xC2) goto yy577;
+ }
} else {
- if (yych <= 'v') goto yy562;
- if (yych == 'x') goto yy564;
- goto yy539;
+ if (yych <= 0xF0) {
+ if (yych <= 0xE0) goto yy579;
+ if (yych <= 0xEF) goto yy580;
+ goto yy581;
+ } else {
+ if (yych <= 0xF3) goto yy582;
+ if (yych <= 0xF4) goto yy583;
+ }
}
}
}
yy538:
-#line 612 "../src/parse/lex.re"
+#line 577 "../src/parse/lex.re"
{ msg.fatal(loc, "syntax error in escape sequence"); }
-#line 3231 "src/parse/lex.cc"
+#line 3278 "src/parse/lex.cc"
yy539:
++YYCURSOR;
yy540:
-#line 627 "../src/parse/lex.re"
- {
- const char c = tok[1];
- ast.chr = static_cast<uint8_t>(c);
- if (tok[1] != quote) {
- msg.warn.useless_escape(loc, c);
- }
- goto end;
- }
-#line 3244 "src/parse/lex.cc"
+#line 578 "../src/parse/lex.re"
+ { msg.fatal(loc, "syntax error"); }
+#line 3284 "src/parse/lex.cc"
yy541:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy534;
+ if (yych <= 0x7F) goto yy540;
+ if (yych <= 0xBF) goto yy532;
goto yy540;
yy542:
- yyaccept = 0;
+ yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy543;
- if (yych <= '7') goto yy565;
+ if (yych <= 0x9F) goto yy540;
+ if (yych <= 0xBF) goto yy584;
+ goto yy540;
yy543:
-#line 611 "../src/parse/lex.re"
- { msg.fatal(loc, "syntax error in octal escape sequence"); }
-#line 3257 "src/parse/lex.cc"
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy540;
+ if (yych <= 0xBF) goto yy584;
+ goto yy540;
yy544:
- ++YYCURSOR;
- goto yy543;
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x8F) goto yy540;
+ if (yych <= 0xBF) goto yy585;
+ goto yy540;
yy545:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy540;
+ if (yych <= 0xBF) goto yy585;
+ goto yy540;
+yy546:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy540;
+ if (yych <= 0x8F) goto yy585;
+ goto yy540;
+yy547:
+ ++YYCURSOR;
+yy548:
+#line 595 "../src/parse/lex.re"
+ {
+ msg.warn.useless_escape(loc, tok, cur);
+ return decode(tok + 1);
+ }
+#line 3328 "src/parse/lex.cc"
+yy549:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy534;
+ goto yy548;
+yy550:
+ ++YYCURSOR;
+#line 593 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('-'); }
+#line 3337 "src/parse/lex.cc"
+yy552:
+ yyaccept = 2;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy553;
+ if (yych <= '7') goto yy586;
+yy553:
+#line 576 "../src/parse/lex.re"
+ { msg.fatal(loc, "syntax error in octal escape sequence"); }
+#line 3346 "src/parse/lex.cc"
+yy554:
+ ++YYCURSOR;
+ goto yy553;
+yy555:
+ yyaccept = 3;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy546;
- if (yych <= '9') goto yy567;
+ if (yych <= '/') goto yy556;
+ if (yych <= '9') goto yy587;
} else {
- if (yych <= 'F') goto yy567;
- if (yych <= '`') goto yy546;
- if (yych <= 'f') goto yy567;
+ if (yych <= 'F') goto yy587;
+ if (yych <= '`') goto yy556;
+ if (yych <= 'f') goto yy587;
}
-yy546:
-#line 610 "../src/parse/lex.re"
+yy556:
+#line 575 "../src/parse/lex.re"
{ msg.fatal(loc, "syntax error in hexadecimal escape sequence"); }
-#line 3275 "src/parse/lex.cc"
-yy547:
- yyaccept = 1;
+#line 3364 "src/parse/lex.cc"
+yy557:
+ yyaccept = 3;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy546;
- if (yych <= '9') goto yy568;
- goto yy546;
+ if (yych <= '/') goto yy556;
+ if (yych <= '9') goto yy588;
+ goto yy556;
} else {
- if (yych <= 'F') goto yy568;
- if (yych <= '`') goto yy546;
- if (yych <= 'f') goto yy568;
- goto yy546;
+ if (yych <= 'F') goto yy588;
+ if (yych <= '`') goto yy556;
+ if (yych <= 'f') goto yy588;
+ goto yy556;
}
-yy548:
+yy558:
++YYCURSOR;
-#line 626 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\\'); goto end; }
-#line 3293 "src/parse/lex.cc"
-yy550:
+#line 592 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\\'); }
+#line 3382 "src/parse/lex.cc"
+yy560:
++YYCURSOR;
-#line 619 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\a'); goto end; }
-#line 3298 "src/parse/lex.cc"
-yy552:
+#line 594 "../src/parse/lex.re"
+ { return static_cast<uint8_t>(']'); }
+#line 3387 "src/parse/lex.cc"
+yy562:
++YYCURSOR;
-#line 620 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\b'); goto end; }
-#line 3303 "src/parse/lex.cc"
-yy554:
+#line 585 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\a'); }
+#line 3392 "src/parse/lex.cc"
+yy564:
++YYCURSOR;
-#line 621 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\f'); goto end; }
-#line 3308 "src/parse/lex.cc"
-yy556:
+#line 586 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\b'); }
+#line 3397 "src/parse/lex.cc"
+yy566:
+ ++YYCURSOR;
+#line 587 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\f'); }
+#line 3402 "src/parse/lex.cc"
+yy568:
+ ++YYCURSOR;
+#line 588 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\n'); }
+#line 3407 "src/parse/lex.cc"
+yy570:
+ ++YYCURSOR;
+#line 589 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\r'); }
+#line 3412 "src/parse/lex.cc"
+yy572:
+ ++YYCURSOR;
+#line 590 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\t'); }
+#line 3417 "src/parse/lex.cc"
+yy574:
+ ++YYCURSOR;
+#line 591 "../src/parse/lex.re"
+ { return static_cast<uint8_t>('\v'); }
+#line 3422 "src/parse/lex.cc"
+yy576:
+ yyaccept = 3;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy556;
+ if (yych <= '9') goto yy589;
+ goto yy556;
+ } else {
+ if (yych <= 'F') goto yy589;
+ if (yych <= '`') goto yy556;
+ if (yych <= 'f') goto yy589;
+ goto yy556;
+ }
+yy577:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy578;
+ if (yych <= 0xBF) goto yy547;
+yy578:
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy538;
+ } else {
+ goto yy540;
+ }
+ } else {
+ if (yyaccept == 2) {
+ goto yy553;
+ } else {
+ goto yy556;
+ }
+ }
+yy579:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x9F) goto yy578;
+ if (yych <= 0xBF) goto yy577;
+ goto yy578;
+yy580:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy578;
+ if (yych <= 0xBF) goto yy577;
+ goto yy578;
+yy581:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x8F) goto yy578;
+ if (yych <= 0xBF) goto yy580;
+ goto yy578;
+yy582:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy578;
+ if (yych <= 0xBF) goto yy580;
+ goto yy578;
+yy583:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy578;
+ if (yych <= 0x8F) goto yy580;
+ goto yy578;
+yy584:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy578;
+ if (yych <= 0xBF) goto yy532;
+ goto yy578;
+yy585:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy578;
+ if (yych <= 0xBF) goto yy584;
+ goto yy578;
+yy586:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '/') goto yy578;
+ if (yych <= '7') goto yy590;
+ goto yy578;
+yy587:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy578;
+ if (yych <= '9') goto yy592;
+ goto yy578;
+ } else {
+ if (yych <= 'F') goto yy592;
+ if (yych <= '`') goto yy578;
+ if (yych <= 'f') goto yy592;
+ goto yy578;
+ }
+yy588:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy578;
+ if (yych <= '9') goto yy593;
+ goto yy578;
+ } else {
+ if (yych <= 'F') goto yy593;
+ if (yych <= '`') goto yy578;
+ if (yych <= 'f') goto yy593;
+ goto yy578;
+ }
+yy589:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy578;
+ if (yych <= '9') goto yy594;
+ goto yy578;
+ } else {
+ if (yych <= 'F') goto yy594;
+ if (yych <= '`') goto yy578;
+ if (yych <= 'f') goto yy594;
+ goto yy578;
+ }
+yy590:
++YYCURSOR;
+#line 584 "../src/parse/lex.re"
+ { return unesc_oct(tok, cur); }
+#line 3535 "src/parse/lex.cc"
+yy592:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy578;
+ if (yych <= '9') goto yy596;
+ goto yy578;
+ } else {
+ if (yych <= 'F') goto yy596;
+ if (yych <= '`') goto yy578;
+ if (yych <= 'f') goto yy596;
+ goto yy578;
+ }
+yy593:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy578;
+ if (yych <= '9') goto yy589;
+ goto yy578;
+ } else {
+ if (yych <= 'F') goto yy589;
+ if (yych <= '`') goto yy578;
+ if (yych <= 'f') goto yy589;
+ goto yy578;
+ }
+yy594:
+ ++YYCURSOR;
+#line 583 "../src/parse/lex.re"
+ { return unesc_hex(tok, cur); }
+#line 3564 "src/parse/lex.cc"
+yy596:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy578;
+ if (yych >= ':') goto yy578;
+ } else {
+ if (yych <= 'F') goto yy597;
+ if (yych <= '`') goto yy578;
+ if (yych >= 'g') goto yy578;
+ }
+yy597:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy578;
+ if (yych <= '9') goto yy588;
+ goto yy578;
+ } else {
+ if (yych <= 'F') goto yy588;
+ if (yych <= '`') goto yy578;
+ if (yych <= 'f') goto yy588;
+ goto yy578;
+ }
+}
+#line 604 "../src/parse/lex.re"
+ #line 604 "../src/parse/lex.re"
+
+ }
+}
+
+bool Scanner::lex_str_chr(char quote, ASTChar &ast)
+{
+ tok = cur;
+ ast.loc = cur_loc();
+
+ #line 638 "../src/parse/lex.re"
+
+ if (globopts->input_encoding == Enc::ASCII) {
+
+#line 3603 "src/parse/lex.cc"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy600;
+ if (yych == '\n') goto yy604;
+ goto yy602;
+ } else {
+ if (yych <= '\r') goto yy606;
+ if (yych == '\\') goto yy607;
+ goto yy602;
+ }
+yy600:
+ ++YYCURSOR;
+#line 620 "../src/parse/lex.re"
+ { fail_if_eof(); ast.chr = 0; return true; }
+#line 3622 "src/parse/lex.cc"
+yy602:
+ ++YYCURSOR;
+yy603:
#line 622 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\n'); goto end; }
-#line 3313 "src/parse/lex.cc"
-yy558:
+ { ast.chr = decode(tok); return tok[0] != quote; }
+#line 3628 "src/parse/lex.cc"
+yy604:
++YYCURSOR;
-#line 623 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\r'); goto end; }
-#line 3318 "src/parse/lex.cc"
-yy560:
+#line 614 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "newline in character string"); }
+#line 3633 "src/parse/lex.cc"
+yy606:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy604;
+ goto yy603;
+yy607:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '`') {
+ if (yych <= '3') {
+ if (yych <= '\n') {
+ if (yych <= 0x00) goto yy608;
+ if (yych <= '\t') goto yy609;
+ goto yy604;
+ } else {
+ if (yych == '\r') goto yy611;
+ if (yych <= '/') goto yy609;
+ goto yy612;
+ }
+ } else {
+ if (yych <= 'W') {
+ if (yych <= '7') goto yy614;
+ if (yych == 'U') goto yy615;
+ goto yy609;
+ } else {
+ if (yych <= 'X') goto yy617;
+ if (yych == '\\') goto yy618;
+ goto yy609;
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'e') {
+ if (yych <= 'a') goto yy620;
+ if (yych <= 'b') goto yy622;
+ goto yy609;
+ } else {
+ if (yych <= 'f') goto yy624;
+ if (yych == 'n') goto yy626;
+ goto yy609;
+ }
+ } else {
+ if (yych <= 'u') {
+ if (yych <= 'r') goto yy628;
+ if (yych <= 's') goto yy609;
+ if (yych <= 't') goto yy630;
+ goto yy617;
+ } else {
+ if (yych <= 'v') goto yy632;
+ if (yych == 'x') goto yy634;
+ goto yy609;
+ }
+ }
+ }
+yy608:
+#line 617 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "syntax error in escape sequence"); }
+#line 3689 "src/parse/lex.cc"
+yy609:
++YYCURSOR;
-#line 624 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\t'); goto end; }
-#line 3323 "src/parse/lex.cc"
-yy562:
+yy610:
+#line 633 "../src/parse/lex.re"
+ {
+ ast.chr = decode(tok + 1);
+ if (tok[1] != quote) msg.warn.useless_escape(ast.loc, tok, cur);
+ return true;
+ }
+#line 3699 "src/parse/lex.cc"
+yy611:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy604;
+ goto yy610;
+yy612:
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy613;
+ if (yych <= '7') goto yy635;
+yy613:
+#line 616 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "syntax error in octal escape sequence"); }
+#line 3712 "src/parse/lex.cc"
+yy614:
+ ++YYCURSOR;
+ goto yy613;
+yy615:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy616;
+ if (yych <= '9') goto yy637;
+ } else {
+ if (yych <= 'F') goto yy637;
+ if (yych <= '`') goto yy616;
+ if (yych <= 'f') goto yy637;
+ }
+yy616:
+#line 615 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "syntax error in hexadecimal escape sequence"); }
+#line 3730 "src/parse/lex.cc"
+yy617:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy616;
+ if (yych <= '9') goto yy638;
+ goto yy616;
+ } else {
+ if (yych <= 'F') goto yy638;
+ if (yych <= '`') goto yy616;
+ if (yych <= 'f') goto yy638;
+ goto yy616;
+ }
+yy618:
+ ++YYCURSOR;
+#line 632 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\\'); return true; }
+#line 3748 "src/parse/lex.cc"
+yy620:
++YYCURSOR;
#line 625 "../src/parse/lex.re"
- { ast.chr = static_cast<uint8_t>('\v'); goto end; }
-#line 3328 "src/parse/lex.cc"
-yy564:
+ { ast.chr = static_cast<uint8_t>('\a'); return true; }
+#line 3753 "src/parse/lex.cc"
+yy622:
+ ++YYCURSOR;
+#line 626 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\b'); return true; }
+#line 3758 "src/parse/lex.cc"
+yy624:
+ ++YYCURSOR;
+#line 627 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\f'); return true; }
+#line 3763 "src/parse/lex.cc"
+yy626:
+ ++YYCURSOR;
+#line 628 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\n'); return true; }
+#line 3768 "src/parse/lex.cc"
+yy628:
+ ++YYCURSOR;
+#line 629 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\r'); return true; }
+#line 3773 "src/parse/lex.cc"
+yy630:
+ ++YYCURSOR;
+#line 630 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\t'); return true; }
+#line 3778 "src/parse/lex.cc"
+yy632:
+ ++YYCURSOR;
+#line 631 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\v'); return true; }
+#line 3783 "src/parse/lex.cc"
+yy634:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy546;
- if (yych <= '9') goto yy569;
- goto yy546;
+ if (yych <= '/') goto yy616;
+ if (yych <= '9') goto yy639;
+ goto yy616;
} else {
- if (yych <= 'F') goto yy569;
- if (yych <= '`') goto yy546;
- if (yych <= 'f') goto yy569;
- goto yy546;
+ if (yych <= 'F') goto yy639;
+ if (yych <= '`') goto yy616;
+ if (yych <= 'f') goto yy639;
+ goto yy616;
}
-yy565:
+yy635:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy566;
- if (yych <= '7') goto yy570;
-yy566:
+ if (yych <= '/') goto yy636;
+ if (yych <= '7') goto yy640;
+yy636:
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
- goto yy543;
+ goto yy613;
} else {
- goto yy546;
+ goto yy616;
}
-yy567:
+yy637:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy566;
- if (yych <= '9') goto yy572;
- goto yy566;
+ if (yych <= '/') goto yy636;
+ if (yych <= '9') goto yy642;
+ goto yy636;
} else {
- if (yych <= 'F') goto yy572;
- if (yych <= '`') goto yy566;
- if (yych <= 'f') goto yy572;
- goto yy566;
+ if (yych <= 'F') goto yy642;
+ if (yych <= '`') goto yy636;
+ if (yych <= 'f') goto yy642;
+ goto yy636;
}
-yy568:
+yy638:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy566;
- if (yych <= '9') goto yy573;
- goto yy566;
+ if (yych <= '/') goto yy636;
+ if (yych <= '9') goto yy643;
+ goto yy636;
} else {
- if (yych <= 'F') goto yy573;
- if (yych <= '`') goto yy566;
- if (yych <= 'f') goto yy573;
- goto yy566;
+ if (yych <= 'F') goto yy643;
+ if (yych <= '`') goto yy636;
+ if (yych <= 'f') goto yy643;
+ goto yy636;
}
-yy569:
+yy639:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy566;
- if (yych <= '9') goto yy574;
- goto yy566;
+ if (yych <= '/') goto yy636;
+ if (yych <= '9') goto yy644;
+ goto yy636;
} else {
- if (yych <= 'F') goto yy574;
- if (yych <= '`') goto yy566;
- if (yych <= 'f') goto yy574;
- goto yy566;
+ if (yych <= 'F') goto yy644;
+ if (yych <= '`') goto yy636;
+ if (yych <= 'f') goto yy644;
+ goto yy636;
}
-yy570:
+yy640:
++YYCURSOR;
-#line 618 "../src/parse/lex.re"
- { ast.chr = unesc_oct(tok, cur); goto end; }
-#line 3393 "src/parse/lex.cc"
-yy572:
+#line 624 "../src/parse/lex.re"
+ { ast.chr = unesc_oct(tok, cur); return true; }
+#line 3848 "src/parse/lex.cc"
+yy642:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy566;
- if (yych <= '9') goto yy576;
- goto yy566;
+ if (yych <= '/') goto yy636;
+ if (yych <= '9') goto yy646;
+ goto yy636;
} else {
- if (yych <= 'F') goto yy576;
- if (yych <= '`') goto yy566;
- if (yych <= 'f') goto yy576;
- goto yy566;
+ if (yych <= 'F') goto yy646;
+ if (yych <= '`') goto yy636;
+ if (yych <= 'f') goto yy646;
+ goto yy636;
}
-yy573:
+yy643:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy566;
- if (yych <= '9') goto yy569;
- goto yy566;
+ if (yych <= '/') goto yy636;
+ if (yych <= '9') goto yy639;
+ goto yy636;
} else {
- if (yych <= 'F') goto yy569;
- if (yych <= '`') goto yy566;
- if (yych <= 'f') goto yy569;
- goto yy566;
+ if (yych <= 'F') goto yy639;
+ if (yych <= '`') goto yy636;
+ if (yych <= 'f') goto yy639;
+ goto yy636;
}
-yy574:
+yy644:
++YYCURSOR;
+#line 623 "../src/parse/lex.re"
+ { ast.chr = unesc_hex(tok, cur); return true; }
+#line 3877 "src/parse/lex.cc"
+yy646:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy636;
+ if (yych >= ':') goto yy636;
+ } else {
+ if (yych <= 'F') goto yy647;
+ if (yych <= '`') goto yy636;
+ if (yych >= 'g') goto yy636;
+ }
+yy647:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy636;
+ if (yych <= '9') goto yy638;
+ goto yy636;
+ } else {
+ if (yych <= 'F') goto yy638;
+ if (yych <= '`') goto yy636;
+ if (yych <= 'f') goto yy638;
+ goto yy636;
+ }
+}
+#line 640 "../src/parse/lex.re"
+
+ }
+ else {
+
+#line 3906 "src/parse/lex.cc"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x7F) {
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy650;
+ if (yych == '\n') goto yy654;
+ goto yy652;
+ } else {
+ if (yych <= '\r') goto yy656;
+ if (yych == '\\') goto yy657;
+ goto yy652;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy659;
+ if (yych <= 0xDF) goto yy661;
+ if (yych <= 0xE0) goto yy662;
+ goto yy663;
+ } else {
+ if (yych <= 0xF0) goto yy664;
+ if (yych <= 0xF3) goto yy665;
+ if (yych <= 0xF4) goto yy666;
+ goto yy659;
+ }
+ }
+yy650:
+ ++YYCURSOR;
+#line 620 "../src/parse/lex.re"
+ { fail_if_eof(); ast.chr = 0; return true; }
+#line 3939 "src/parse/lex.cc"
+yy652:
+ ++YYCURSOR;
+yy653:
+#line 622 "../src/parse/lex.re"
+ { ast.chr = decode(tok); return tok[0] != quote; }
+#line 3945 "src/parse/lex.cc"
+yy654:
+ ++YYCURSOR;
+#line 614 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "newline in character string"); }
+#line 3950 "src/parse/lex.cc"
+yy656:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy654;
+ goto yy653;
+yy657:
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 'f') {
+ if (yych <= 'T') {
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy658;
+ if (yych == '\n') goto yy654;
+ goto yy667;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '\r') goto yy669;
+ goto yy667;
+ } else {
+ if (yych <= '3') goto yy670;
+ if (yych <= '7') goto yy672;
+ goto yy667;
+ }
+ }
+ } else {
+ if (yych <= '\\') {
+ if (yych <= 'W') {
+ if (yych <= 'U') goto yy673;
+ goto yy667;
+ } else {
+ if (yych <= 'X') goto yy675;
+ if (yych <= '[') goto yy667;
+ goto yy676;
+ }
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`') goto yy667;
+ goto yy678;
+ } else {
+ if (yych <= 'b') goto yy680;
+ if (yych <= 'e') goto yy667;
+ goto yy682;
+ }
+ }
+ }
+ } else {
+ if (yych <= 'w') {
+ if (yych <= 'r') {
+ if (yych == 'n') goto yy684;
+ if (yych <= 'q') goto yy667;
+ goto yy686;
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') goto yy667;
+ goto yy688;
+ } else {
+ if (yych <= 'u') goto yy675;
+ if (yych <= 'v') goto yy690;
+ goto yy667;
+ }
+ }
+ } else {
+ if (yych <= 0xE0) {
+ if (yych <= 0x7F) {
+ if (yych <= 'x') goto yy692;
+ goto yy667;
+ } else {
+ if (yych <= 0xC1) goto yy658;
+ if (yych <= 0xDF) goto yy693;
+ goto yy695;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF) goto yy696;
+ goto yy697;
+ } else {
+ if (yych <= 0xF3) goto yy698;
+ if (yych <= 0xF4) goto yy699;
+ }
+ }
+ }
+ }
+yy658:
#line 617 "../src/parse/lex.re"
- { ast.chr = unesc_hex(tok, cur); goto end; }
-#line 3422 "src/parse/lex.cc"
-yy576:
+ { msg.fatal(ast.loc, "syntax error in escape sequence"); }
+#line 4035 "src/parse/lex.cc"
+yy659:
+ ++YYCURSOR;
+yy660:
+#line 618 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "syntax error"); }
+#line 4041 "src/parse/lex.cc"
+yy661:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy660;
+ if (yych <= 0xBF) goto yy652;
+ goto yy660;
+yy662:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x9F) goto yy660;
+ if (yych <= 0xBF) goto yy700;
+ goto yy660;
+yy663:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy660;
+ if (yych <= 0xBF) goto yy700;
+ goto yy660;
+yy664:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x8F) goto yy660;
+ if (yych <= 0xBF) goto yy701;
+ goto yy660;
+yy665:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy660;
+ if (yych <= 0xBF) goto yy701;
+ goto yy660;
+yy666:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy660;
+ if (yych <= 0x8F) goto yy701;
+ goto yy660;
+yy667:
+ ++YYCURSOR;
+yy668:
+#line 633 "../src/parse/lex.re"
+ {
+ ast.chr = decode(tok + 1);
+ if (tok[1] != quote) msg.warn.useless_escape(ast.loc, tok, cur);
+ return true;
+ }
+#line 4086 "src/parse/lex.cc"
+yy669:
yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy654;
+ goto yy668;
+yy670:
+ yyaccept = 2;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy671;
+ if (yych <= '7') goto yy702;
+yy671:
+#line 616 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "syntax error in octal escape sequence"); }
+#line 4099 "src/parse/lex.cc"
+yy672:
+ ++YYCURSOR;
+ goto yy671;
+yy673:
+ yyaccept = 3;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
- if (yych <= '/') goto yy566;
- if (yych >= ':') goto yy566;
+ if (yych <= '/') goto yy674;
+ if (yych <= '9') goto yy703;
} else {
- if (yych <= 'F') goto yy577;
- if (yych <= '`') goto yy566;
- if (yych >= 'g') goto yy566;
+ if (yych <= 'F') goto yy703;
+ if (yych <= '`') goto yy674;
+ if (yych <= 'f') goto yy703;
}
-yy577:
+yy674:
+#line 615 "../src/parse/lex.re"
+ { msg.fatal(ast.loc, "syntax error in hexadecimal escape sequence"); }
+#line 4117 "src/parse/lex.cc"
+yy675:
+ yyaccept = 3;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy674;
+ if (yych <= '9') goto yy704;
+ goto yy674;
+ } else {
+ if (yych <= 'F') goto yy704;
+ if (yych <= '`') goto yy674;
+ if (yych <= 'f') goto yy704;
+ goto yy674;
+ }
+yy676:
+ ++YYCURSOR;
+#line 632 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\\'); return true; }
+#line 4135 "src/parse/lex.cc"
+yy678:
+ ++YYCURSOR;
+#line 625 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\a'); return true; }
+#line 4140 "src/parse/lex.cc"
+yy680:
+ ++YYCURSOR;
+#line 626 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\b'); return true; }
+#line 4145 "src/parse/lex.cc"
+yy682:
+ ++YYCURSOR;
+#line 627 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\f'); return true; }
+#line 4150 "src/parse/lex.cc"
+yy684:
+ ++YYCURSOR;
+#line 628 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\n'); return true; }
+#line 4155 "src/parse/lex.cc"
+yy686:
+ ++YYCURSOR;
+#line 629 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\r'); return true; }
+#line 4160 "src/parse/lex.cc"
+yy688:
+ ++YYCURSOR;
+#line 630 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\t'); return true; }
+#line 4165 "src/parse/lex.cc"
+yy690:
+ ++YYCURSOR;
+#line 631 "../src/parse/lex.re"
+ { ast.chr = static_cast<uint8_t>('\v'); return true; }
+#line 4170 "src/parse/lex.cc"
+yy692:
+ yyaccept = 3;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy674;
+ if (yych <= '9') goto yy705;
+ goto yy674;
+ } else {
+ if (yych <= 'F') goto yy705;
+ if (yych <= '`') goto yy674;
+ if (yych <= 'f') goto yy705;
+ goto yy674;
+ }
+yy693:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy694;
+ if (yych <= 0xBF) goto yy667;
+yy694:
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy658;
+ } else {
+ goto yy660;
+ }
+ } else {
+ if (yyaccept == 2) {
+ goto yy671;
+ } else {
+ goto yy674;
+ }
+ }
+yy695:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x9F) goto yy694;
+ if (yych <= 0xBF) goto yy693;
+ goto yy694;
+yy696:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy694;
+ if (yych <= 0xBF) goto yy693;
+ goto yy694;
+yy697:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x8F) goto yy694;
+ if (yych <= 0xBF) goto yy696;
+ goto yy694;
+yy698:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy694;
+ if (yych <= 0xBF) goto yy696;
+ goto yy694;
+yy699:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy694;
+ if (yych <= 0x8F) goto yy696;
+ goto yy694;
+yy700:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy694;
+ if (yych <= 0xBF) goto yy652;
+ goto yy694;
+yy701:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x7F) goto yy694;
+ if (yych <= 0xBF) goto yy700;
+ goto yy694;
+yy702:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '/') goto yy694;
+ if (yych <= '7') goto yy706;
+ goto yy694;
+yy703:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy694;
+ if (yych <= '9') goto yy708;
+ goto yy694;
+ } else {
+ if (yych <= 'F') goto yy708;
+ if (yych <= '`') goto yy694;
+ if (yych <= 'f') goto yy708;
+ goto yy694;
+ }
+yy704:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy694;
+ if (yych <= '9') goto yy709;
+ goto yy694;
+ } else {
+ if (yych <= 'F') goto yy709;
+ if (yych <= '`') goto yy694;
+ if (yych <= 'f') goto yy709;
+ goto yy694;
+ }
+yy705:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy694;
+ if (yych <= '9') goto yy710;
+ goto yy694;
+ } else {
+ if (yych <= 'F') goto yy710;
+ if (yych <= '`') goto yy694;
+ if (yych <= 'f') goto yy710;
+ goto yy694;
+ }
+yy706:
+ ++YYCURSOR;
+#line 624 "../src/parse/lex.re"
+ { ast.chr = unesc_oct(tok, cur); return true; }
+#line 4283 "src/parse/lex.cc"
+yy708:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy694;
+ if (yych <= '9') goto yy712;
+ goto yy694;
+ } else {
+ if (yych <= 'F') goto yy712;
+ if (yych <= '`') goto yy694;
+ if (yych <= 'f') goto yy712;
+ goto yy694;
+ }
+yy709:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy566;
- if (yych <= '9') goto yy568;
- goto yy566;
+ if (yych <= '/') goto yy694;
+ if (yych <= '9') goto yy705;
+ goto yy694;
} else {
- if (yych <= 'F') goto yy568;
- if (yych <= '`') goto yy566;
- if (yych <= 'f') goto yy568;
- goto yy566;
+ if (yych <= 'F') goto yy705;
+ if (yych <= '`') goto yy694;
+ if (yych <= 'f') goto yy705;
+ goto yy694;
+ }
+yy710:
+ ++YYCURSOR;
+#line 623 "../src/parse/lex.re"
+ { ast.chr = unesc_hex(tok, cur); return true; }
+#line 4312 "src/parse/lex.cc"
+yy712:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy694;
+ if (yych >= ':') goto yy694;
+ } else {
+ if (yych <= 'F') goto yy713;
+ if (yych <= '`') goto yy694;
+ if (yych >= 'g') goto yy694;
+ }
+yy713:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy694;
+ if (yych <= '9') goto yy704;
+ goto yy694;
+ } else {
+ if (yych <= 'F') goto yy704;
+ if (yych <= '`') goto yy694;
+ if (yych <= 'f') goto yy704;
+ goto yy694;
}
}
-#line 635 "../src/parse/lex.re"
+#line 643 "../src/parse/lex.re"
+ #line 643 "../src/parse/lex.re"
-end:
- return ok;
+ }
}
const AST *Scanner::lex_str(char quote)
sourceline:
tok = cur;
-#line 3470 "src/parse/lex.cc"
+#line 4360 "src/parse/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
yych = (YYCTYPE)*YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= 0x01) goto yy582;
+ if (yych >= 0x01) goto yy718;
} else {
- if (yych <= '\n') goto yy584;
- if (yych <= '\f') goto yy582;
- goto yy586;
+ if (yych <= '\n') goto yy720;
+ if (yych <= '\f') goto yy718;
+ goto yy722;
}
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy582;
- goto yy587;
+ if (yych <= '!') goto yy718;
+ goto yy723;
} else {
- if (yych <= '0') goto yy582;
- if (yych <= '9') goto yy588;
- goto yy582;
+ if (yych <= '0') goto yy718;
+ if (yych <= '9') goto yy724;
+ goto yy718;
}
}
++YYCURSOR;
-#line 678 "../src/parse/lex.re"
+#line 685 "../src/parse/lex.re"
{ --cur; return; }
-#line 3530 "src/parse/lex.cc"
-yy582:
+#line 4420 "src/parse/lex.cc"
+yy718:
++YYCURSOR;
-yy583:
-#line 679 "../src/parse/lex.re"
+yy719:
+#line 686 "../src/parse/lex.re"
{ goto sourceline; }
-#line 3536 "src/parse/lex.cc"
-yy584:
+#line 4426 "src/parse/lex.cc"
+yy720:
++YYCURSOR;
-#line 677 "../src/parse/lex.re"
+#line 684 "../src/parse/lex.re"
{ pos = tok = cur; return; }
-#line 3541 "src/parse/lex.cc"
-yy586:
+#line 4431 "src/parse/lex.cc"
+yy722:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy584;
- goto yy583;
-yy587:
+ if (yych == '\n') goto yy720;
+ goto yy719;
+yy723:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= 0x00) goto yy583;
- if (yych == '\n') goto yy583;
- goto yy592;
-yy588:
+ if (yych <= 0x00) goto yy719;
+ if (yych == '\n') goto yy719;
+ goto yy728;
+yy724:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy588;
+ goto yy724;
}
-#line 658 "../src/parse/lex.re"
+#line 665 "../src/parse/lex.re"
{
uint32_t l;
if (!s_to_u32_unsafe(tok, cur, l)) {
set_line(l);
goto sourceline;
}
-#line 3567 "src/parse/lex.cc"
-yy591:
+#line 4457 "src/parse/lex.cc"
+yy727:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy592:
+yy728:
if (yybm[0+yych] & 128) {
- goto yy591;
+ goto yy727;
}
- if (yych <= '\n') goto yy593;
- if (yych <= '"') goto yy594;
- goto yy596;
-yy593:
+ if (yych <= '\n') goto yy729;
+ if (yych <= '"') goto yy730;
+ goto yy732;
+yy729:
YYCURSOR = YYMARKER;
- goto yy583;
-yy594:
+ goto yy719;
+yy730:
++YYCURSOR;
-#line 667 "../src/parse/lex.re"
+#line 674 "../src/parse/lex.re"
{
Input &in = get_input();
std::string &name = in.escaped_name;
msg.filenames.push_back(name);
goto sourceline;
}
-#line 3594 "src/parse/lex.cc"
-yy596:
+#line 4484 "src/parse/lex.cc"
+yy732:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x00) goto yy593;
- if (yych == '\n') goto yy593;
- goto yy591;
+ if (yych <= 0x00) goto yy729;
+ if (yych == '\n') goto yy729;
+ goto yy727;
}
-#line 680 "../src/parse/lex.re"
+#line 687 "../src/parse/lex.re"
}