]> granicus.if.org Git - re2c/blobdiff - bootstrap/src/options/parse_opts.cc
Added option --input-encoding <ascii | utf8> that allows to use UTF-8 literals in...
[re2c] / bootstrap / src / options / parse_opts.cc
index 081e68a81539f55a7e3cbe280015f5863e811165..77971543bb2a5d21252d0f329a6a72d0cea3e81b 100644 (file)
@@ -1,4 +1,4 @@
-/* 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"
@@ -1687,471 +1687,472 @@ yy393:
 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;
@@ -2159,333 +2160,333 @@ yy516:
        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;
@@ -2493,437 +2494,478 @@ yy605:
        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"
        {
@@ -2931,95 +2973,95 @@ yy729:
         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[] = {
@@ -3057,29 +3099,29 @@ opt_output:
                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[] = {
@@ -3117,29 +3159,29 @@ opt_header:
                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[] = {
@@ -3177,511 +3219,576 @@ opt_incpath:
                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: