]> granicus.if.org Git - re2c/commitdiff
Renamed option '--dfa-mapping <bijective | injective>' to '--non-bijective-mapping'.
authorUlya Trofimovich <skvadrik@gmail.com>
Mon, 12 Dec 2016 13:44:00 +0000 (13:44 +0000)
committerUlya Trofimovich <skvadrik@gmail.com>
Mon, 12 Dec 2016 13:44:00 +0000 (13:44 +0000)
12 files changed:
re2c/bootstrap/src/conf/parse_opts.cc
re2c/bootstrap/src/parse/lex_conf.cc
re2c/src/conf/opt.h
re2c/src/conf/parse_opts.re
re2c/src/ir/dfa/find_state.cc
re2c/src/ir/dfa/find_state.h
re2c/src/parse/lex_conf.re
re2c/src/parse/scanner.h
re2c/test/tags/mapping1.i--tags--non-bijective-mapping.c [moved from re2c/test/tags/mapping1.i--tags--dfa-mapping(injective).c with 100% similarity]
re2c/test/tags/mapping1.i--tags--non-bijective-mapping.re [moved from re2c/test/tags/mapping1.i--tags--dfa-mapping(injective).re with 100% similarity]
re2c/test/tags/mapping2.i--tags--non-bijective-mapping.c [moved from re2c/test/tags/mapping2.i--tags--dfa-mapping(injective).c with 100% similarity]
re2c/test/tags/mapping2.i--tags--non-bijective-mapping.re [moved from re2c/test/tags/mapping2.i--tags--dfa-mapping(injective).re with 100% similarity]

index 21877c611e4dc4962af5a979af84077391c3da02..4b859f093720e23e3f14a65cdfaa2edfab5fa556 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.16 on Mon Dec  5 17:26:15 2016 */
+/* Generated by re2c 0.16 on Mon Dec 12 13:39:55 2016 */
 #line 1 "../src/conf/parse_opts.re"
 #include "src/codegen/input_api.h"
 #include "src/conf/msg.h"
@@ -1240,367 +1240,367 @@ yy288:
 yy289:
        yych = (YYCTYPE)*++YYCURSOR;
        if (yych == '-') goto yy315;
+       if (yych == 'n') goto yy316;
        goto yy276;
 yy290:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy316;
+       if (yych == 't') goto yy317;
        goto yy276;
 yy291:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy317;
+       if (yych == 'u') goto yy318;
        goto yy276;
 yy292:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy318;
+       if (yych == 'n') goto yy319;
        goto yy276;
 yy293:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy319;
+       if (yych == 'e') goto yy320;
        goto yy276;
 yy294:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy320;
-       if (yych == 'o') goto yy321;
+       if (yych == 'a') goto yy321;
+       if (yych == 'o') goto yy322;
        goto yy276;
 yy295:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy322;
+       if (yych == 'g') goto yy323;
        goto yy276;
 yy296:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy323;
+       if (yych == 'p') goto yy324;
        goto yy276;
 yy297:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy324;
+       if (yych == 'i') goto yy325;
        goto yy276;
 yy298:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'f') goto yy325;
+       if (yych == 'f') goto yy326;
        goto yy276;
 yy299:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy326;
+       if (yych == 'r') goto yy327;
        goto yy276;
 yy300:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy327;
+       if (yych == 'd') goto yy328;
        goto yy276;
 yy301:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy328;
+       if (yych == '-') goto yy329;
        goto yy276;
 yy302:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy329;
+       if (yych == 'e') goto yy330;
        goto yy276;
 yy303:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy330;
+       if (yych == 'p') goto yy331;
        goto yy276;
 yy304:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy331;
+       if (yych == 'u') goto yy332;
        goto yy276;
 yy305:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy332;
+       if (yych == '-') goto yy333;
        goto yy276;
 yy306:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy333;
+       if (yych == 'p') goto yy334;
        goto yy276;
 yy307:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy334;
+       if (yych <= 0x00) goto yy335;
        goto yy276;
 yy308:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy336;
+       if (yych == 't') goto yy337;
        goto yy276;
 yy309:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy337;
+       if (yych == 't') goto yy338;
        goto yy276;
 yy310:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy338;
+       if (yych == 'o') goto yy339;
        goto yy276;
 yy311:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'x') goto yy339;
+       if (yych == 'x') goto yy340;
        goto yy276;
 yy312:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy340;
+       if (yych == 'p') goto yy341;
        goto yy276;
 yy313:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy341;
+       if (yych == 'u') goto yy342;
        goto yy276;
 yy314:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy342;
+       if (yych == 't') goto yy343;
        goto yy276;
 yy315:
        yych = (YYCTYPE)*++YYCURSOR;
        if (yych <= 'f') {
-               if (yych == 'd') goto yy343;
+               if (yych == 'd') goto yy344;
                goto yy276;
        } else {
-               if (yych <= 'g') goto yy344;
-               if (yych == 'v') goto yy345;
+               if (yych <= 'g') goto yy345;
+               if (yych == 'v') goto yy346;
                goto yy276;
        }
 yy316:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy346;
+       if (yych == '-') goto yy347;
        goto yy276;
 yy317:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy347;
+       if (yych == 'p') goto yy348;
        goto yy276;
 yy318:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy348;
+       if (yych == 's') goto yy349;
        goto yy276;
 yy319:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy349;
+       if (yych == 'g') goto yy350;
        goto yy276;
 yy320:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy350;
+       if (yych == 'l') goto yy351;
        goto yy276;
 yy321:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy351;
+       if (yych == 'r') goto yy352;
        goto yy276;
 yy322:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy352;
+       if (yych == 'r') goto yy353;
        goto yy276;
 yy323:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy353;
+       if (yych == 's') goto yy354;
        goto yy276;
 yy324:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy354;
+       if (yych == 'e') goto yy355;
        goto yy276;
 yy325:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy355;
+       if (yych == 'c') goto yy356;
        goto yy276;
 yy326:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy356;
-       if (yych == 's') goto yy357;
+       if (yych == '-') goto yy357;
        goto yy276;
 yy327:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy358;
+       if (yych == 'n') goto yy358;
+       if (yych == 's') goto yy359;
        goto yy276;
 yy328:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'v') goto yy359;
+       if (yych == 'e') goto yy360;
        goto yy276;
 yy329:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy360;
+       if (yych == 'v') goto yy361;
        goto yy276;
 yy330:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy361;
+       if (yych == '-') goto yy362;
        goto yy276;
 yy331:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy362;
+       if (yych == 'u') goto yy363;
        goto yy276;
 yy332:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'm') goto yy363;
+       if (yych == 'g') goto yy364;
        goto yy276;
 yy333:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy364;
+       if (yych == 'm') goto yy365;
        goto yy276;
 yy334:
-       ++YYCURSOR;
-#line 152 "../src/conf/parse_opts.re"
-       { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1433 "src/conf/parse_opts.cc"
-yy336:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy365;
+       if (yych == '-') goto yy366;
        goto yy276;
+yy335:
+       ++YYCURSOR;
+#line 153 "../src/conf/parse_opts.re"
+       { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
+#line 1438 "src/conf/parse_opts.cc"
 yy337:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'y') goto yy366;
+       if (yych == '-') goto yy367;
        goto yy276;
 yy338:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy367;
+       if (yych == 'y') goto yy368;
        goto yy276;
 yy339:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy368;
+       if (yych == 'd') goto yy369;
        goto yy276;
 yy340:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy369;
+       if (yych == '-') goto yy370;
        goto yy276;
 yy341:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy371;
+       if (yych <= 0x00) goto yy371;
        goto yy276;
 yy342:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy372;
+       if (yych == 't') goto yy373;
        goto yy276;
 yy343:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy373;
+       if (yych == 'e') goto yy374;
        goto yy276;
 yy344:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy374;
+       if (yych == 'e') goto yy375;
        goto yy276;
 yy345:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy375;
+       if (yych == 'e') goto yy376;
        goto yy276;
 yy346:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy376;
+       if (yych == 'e') goto yy377;
        goto yy276;
 yy347:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy377;
+       if (yych == 'b') goto yy378;
        goto yy276;
 yy348:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy378;
+       if (yych == 'u') goto yy379;
        goto yy276;
 yy349:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy379;
+       if (yych == 'a') goto yy380;
        goto yy276;
 yy350:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy380;
+       if (yych == 'l') goto yy381;
        goto yy276;
 yy351:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy381;
+       if (yych == 'e') goto yy382;
        goto yy276;
 yy352:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy382;
+       if (yych == 't') goto yy383;
        goto yy276;
 yy353:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy384;
+       if (yych == 'a') goto yy384;
        goto yy276;
 yy354:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy385;
+       if (yych <= 0x00) goto yy385;
        goto yy276;
 yy355:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '1') goto yy386;
-       if (yych == '8') goto yy387;
+       if (yych == '-') goto yy387;
        goto yy276;
 yy356:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy388;
+       if (yych == 'o') goto yy388;
        goto yy276;
 yy357:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy389;
+       if (yych == '1') goto yy389;
+       if (yych == '8') goto yy390;
        goto yy276;
 yy358:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy390;
+       if (yych == 'u') goto yy391;
        goto yy276;
 yy359:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy391;
+       if (yych == 'i') goto yy392;
        goto yy276;
 yy360:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy392;
+       if (yych == '-') goto yy393;
        goto yy276;
 yy361:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy393;
+       if (yych == 'e') goto yy394;
        goto yy276;
 yy362:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy394;
+       if (yych == 'i') goto yy395;
        goto yy276;
 yy363:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy395;
-       if (yych == 'i') goto yy396;
+       if (yych == 't') goto yy396;
        goto yy276;
 yy364:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy397;
-       if (yych == 'd') goto yy398;
+       if (yych == '-') goto yy397;
        goto yy276;
 yy365:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy399;
+       if (yych == 'i') goto yy398;
        goto yy276;
 yy366:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy400;
+       if (yych == 'a') goto yy399;
+       if (yych == 'd') goto yy400;
        goto yy276;
 yy367:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy401;
+       if (yych == 'd') goto yy401;
        goto yy276;
 yy368:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy402;
+       if (yych == '-') goto yy402;
        goto yy276;
 yy369:
-       ++YYCURSOR;
-#line 133 "../src/conf/parse_opts.re"
-       { usage ();   return EXIT_OK; }
-#line 1573 "src/conf/parse_opts.cc"
-yy371:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy403;
+       if (yych == 'i') goto yy403;
        goto yy276;
-yy372:
+yy370:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy405;
+       if (yych == 's') goto yy404;
        goto yy276;
+yy371:
+       ++YYCURSOR;
+#line 133 "../src/conf/parse_opts.re"
+       { usage ();   return EXIT_OK; }
+#line 1581 "src/conf/parse_opts.cc"
 yy373:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'b') goto yy406;
+       if (yych <= 0x00) goto yy405;
        goto yy276;
 yy374:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy407;
+       if (yych == 'd') goto yy407;
        goto yy276;
 yy375:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy408;
+       if (yych == 'b') goto yy408;
        goto yy276;
 yy376:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy409;
+       if (yych == 'n') goto yy409;
        goto yy276;
 yy377:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'b') goto yy410;
+       if (yych == 'r') goto yy410;
        goto yy276;
 yy378:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy411;
+       if (yych == 'i') goto yy411;
        goto yy276;
 yy379:
        yych = (YYCTYPE)*++YYCURSOR;
@@ -1608,492 +1608,492 @@ yy379:
        goto yy276;
 yy380:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy413;
+       if (yych == 'b') goto yy413;
        goto yy276;
 yy381:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'b') goto yy414;
+       if (yych == 'e') goto yy414;
        goto yy276;
 yy382:
-       ++YYCURSOR;
-#line 151 "../src/conf/parse_opts.re"
-       { opts.set_tags (true);              goto opt; }
-#line 1622 "src/conf/parse_opts.cc"
-yy384:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'h') goto yy415;
+       if (yych == 't') goto yy415;
        goto yy276;
-yy385:
+yy383:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy416;
+       if (yych == '-') goto yy416;
        goto yy276;
-yy386:
+yy384:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '6') goto yy417;
+       if (yych == 'b') goto yy417;
        goto yy276;
+yy385:
+       ++YYCURSOR;
+#line 151 "../src/conf/parse_opts.re"
+       { opts.set_tags (true);              goto opt; }
+#line 1634 "src/conf/parse_opts.cc"
 yy387:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy418;
+       if (yych == 'h') goto yy418;
        goto yy276;
 yy388:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'm') goto yy420;
+       if (yych == 'd') goto yy419;
        goto yy276;
 yy389:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy421;
+       if (yych == '6') goto yy420;
        goto yy276;
 yy390:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy422;
+       if (yych <= 0x00) goto yy421;
        goto yy276;
 yy391:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy423;
+       if (yych == 'm') goto yy423;
        goto yy276;
 yy392:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy424;
+       if (yych == 'o') goto yy424;
        goto yy276;
 yy393:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy425;
+       if (yych == 'c') goto yy425;
        goto yy276;
 yy394:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy426;
+       if (yych == 'c') goto yy426;
        goto yy276;
 yy395:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy427;
+       if (yych == 'n') goto yy427;
        goto yy276;
 yy396:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy428;
+       if (yych == 'e') goto yy428;
        goto yy276;
 yy397:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy429;
+       if (yych == 'o') goto yy429;
        goto yy276;
 yy398:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'f') goto yy430;
+       if (yych == 'n') goto yy430;
        goto yy276;
 yy399:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy431;
+       if (yych == 'd') goto yy431;
        goto yy276;
 yy400:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy432;
+       if (yych == 'f') goto yy432;
        goto yy276;
 yy401:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy433;
+       if (yych == 'o') goto yy433;
        goto yy276;
 yy402:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'y') goto yy434;
+       if (yych == 'c') goto yy434;
        goto yy276;
 yy403:
-       ++YYCURSOR;
-#line 160 "../src/conf/parse_opts.re"
-       { goto opt_input; }
-#line 1703 "src/conf/parse_opts.cc"
-yy405:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy435;
+       if (yych == 'n') goto yy435;
        goto yy276;
-yy406:
+yy404:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy436;
+       if (yych == 'y') goto yy436;
        goto yy276;
+yy405:
+       ++YYCURSOR;
+#line 161 "../src/conf/parse_opts.re"
+       { goto opt_input; }
+#line 1711 "src/conf/parse_opts.cc"
 yy407:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy437;
+       if (yych == '-') goto yy437;
        goto yy276;
 yy408:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy438;
+       if (yych == 'u') goto yy438;
        goto yy276;
 yy409:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy439;
+       if (yych == 'e') goto yy439;
        goto yy276;
 yy410:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy441;
+       if (yych == 's') goto yy440;
        goto yy276;
 yy411:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy442;
+       if (yych == 'j') goto yy441;
        goto yy276;
 yy412:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy443;
+       if (yych <= 0x00) goto yy442;
        goto yy276;
 yy413:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy444;
+       if (yych == 'l') goto yy444;
        goto yy276;
 yy414:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy445;
+       if (yych == '-') goto yy445;
        goto yy276;
 yy415:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy446;
+       if (yych == 'o') goto yy446;
        goto yy276;
 yy416:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy447;
+       if (yych == 'c') goto yy447;
        goto yy276;
 yy417:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy448;
+       if (yych == 'l') goto yy448;
        goto yy276;
 yy418:
-       ++YYCURSOR;
-#line 156 "../src/conf/parse_opts.re"
-       { if (!opts.set_encoding (Enc::UTF8))   { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1760 "src/conf/parse_opts.cc"
-yy420:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy450;
+       if (yych == 'e') goto yy449;
        goto yy276;
-yy421:
+yy419:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy452;
+       if (yych == 'e') goto yy450;
        goto yy276;
-yy422:
+yy420:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'h') goto yy453;
+       if (yych <= 0x00) goto yy451;
        goto yy276;
+yy421:
+       ++YYCURSOR;
+#line 157 "../src/conf/parse_opts.re"
+       { if (!opts.set_encoding (Enc::UTF8))   { error_encoding (); return EXIT_FAIL; } goto opt; }
+#line 1772 "src/conf/parse_opts.cc"
 yy423:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy454;
+       if (yych <= 0x00) goto yy453;
        goto yy276;
 yy424:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy455;
-       if (yych == 'v') goto yy456;
+       if (yych == 'n') goto yy455;
        goto yy276;
 yy425:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy457;
+       if (yych == 'h') goto yy456;
        goto yy276;
 yy426:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy458;
+       if (yych == 't') goto yy457;
        goto yy276;
 yy427:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy459;
+       if (yych == 's') goto yy458;
+       if (yych == 'v') goto yy459;
        goto yy276;
 yy428:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy460;
+       if (yych == 'd') goto yy460;
        goto yy276;
 yy429:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'f') goto yy461;
+       if (yych == 'u') goto yy461;
        goto yy276;
 yy430:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy462;
+       if (yych == 'i') goto yy462;
        goto yy276;
 yy431:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy463;
+       if (yych == 'f') goto yy463;
        goto yy276;
 yy432:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy464;
+       if (yych == 'a') goto yy464;
        goto yy276;
 yy433:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy465;
+       if (yych == 't') goto yy465;
        goto yy276;
 yy434:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy466;
+       if (yych == 'l') goto yy466;
        goto yy276;
 yy435:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy467;
+       if (yych == 'g') goto yy467;
        goto yy276;
 yy436:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy468;
+       if (yych == 'n') goto yy468;
        goto yy276;
 yy437:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy469;
+       if (yych == 'i') goto yy469;
        goto yy276;
 yy438:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy470;
+       if (yych == 'g') goto yy470;
        goto yy276;
 yy439:
-       ++YYCURSOR;
-#line 157 "../src/conf/parse_opts.re"
-       { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
-#line 1842 "src/conf/parse_opts.cc"
-yy441:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy471;
+       if (yych == 'r') goto yy471;
        goto yy276;
-yy442:
+yy440:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy472;
+       if (yych == 'i') goto yy472;
        goto yy276;
-yy443:
+yy441:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy473;
+       if (yych == 'e') goto yy473;
        goto yy276;
+yy442:
+       ++YYCURSOR;
+#line 158 "../src/conf/parse_opts.re"
+       { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
+#line 1854 "src/conf/parse_opts.cc"
 yy444:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy474;
+       if (yych == 'e') goto yy474;
        goto yy276;
 yy445:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy475;
+       if (yych == 'p') goto yy475;
        goto yy276;
 yy446:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy476;
+       if (yych == 'n') goto yy476;
        goto yy276;
 yy447:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy477;
+       if (yych == 'o') goto yy477;
        goto yy276;
 yy448:
-       ++YYCURSOR;
-#line 155 "../src/conf/parse_opts.re"
-       { if (!opts.set_encoding (Enc::UTF16))  { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1875 "src/conf/parse_opts.cc"
-yy450:
-       ++YYCURSOR;
-#line 135 "../src/conf/parse_opts.re"
-       { vernum ();  return EXIT_OK; }
-#line 1880 "src/conf/parse_opts.cc"
-yy452:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy479;
+       if (yych == 'e') goto yy478;
        goto yy276;
-yy453:
+yy449:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy481;
+       if (yych == 'a') goto yy479;
        goto yy276;
-yy454:
+yy450:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy482;
+       if (yych <= 0x00) goto yy480;
        goto yy276;
+yy451:
+       ++YYCURSOR;
+#line 156 "../src/conf/parse_opts.re"
+       { if (!opts.set_encoding (Enc::UTF16))  { error_encoding (); return EXIT_FAIL; } goto opt; }
+#line 1887 "src/conf/parse_opts.cc"
+yy453:
+       ++YYCURSOR;
+#line 135 "../src/conf/parse_opts.re"
+       { vernum ();  return EXIT_OK; }
+#line 1892 "src/conf/parse_opts.cc"
 yy455:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy483;
+       if (yych <= 0x00) goto yy482;
        goto yy276;
 yy456:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy484;
+       if (yych == 'a') goto yy484;
        goto yy276;
 yy457:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy485;
+       if (yych == 'o') goto yy485;
        goto yy276;
 yy458:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy486;
+       if (yych == 'e') goto yy486;
        goto yy276;
 yy459:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy487;
+       if (yych == 'e') goto yy487;
        goto yy276;
 yy460:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'm') goto yy488;
+       if (yych == '-') goto yy488;
        goto yy276;
 yy461:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy489;
+       if (yych == 't') goto yy489;
        goto yy276;
 yy462:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy490;
+       if (yych == 'm') goto yy490;
        goto yy276;
 yy463:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy491;
+       if (yych == 'a') goto yy491;
        goto yy276;
 yy464:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy493;
+       if (yych == '-') goto yy492;
        goto yy276;
 yy465:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy494;
+       if (yych <= 0x00) goto yy493;
        goto yy276;
 yy466:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy495;
+       if (yych == 'a') goto yy495;
        goto yy276;
 yy467:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'f') goto yy496;
+       if (yych == '-') goto yy496;
        goto yy276;
 yy468:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy497;
+       if (yych == 't') goto yy497;
        goto yy276;
 yy469:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy498;
+       if (yych == 'f') goto yy498;
        goto yy276;
 yy470:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy499;
+       if (yych == '-') goto yy499;
        goto yy276;
 yy471:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy500;
+       if (yych == 'a') goto yy500;
        goto yy276;
 yy472:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy502;
+       if (yych == 'o') goto yy501;
        goto yy276;
 yy473:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy503;
+       if (yych == 'c') goto yy502;
        goto yy276;
 yy474:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy505;
+       if (yych <= 0x00) goto yy503;
        goto yy276;
 yy475:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy506;
+       if (yych == 'a') goto yy505;
        goto yy276;
 yy476:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy507;
+       if (yych <= 0x00) goto yy506;
        goto yy276;
 yy477:
-       ++YYCURSOR;
-#line 153 "../src/conf/parse_opts.re"
-       { if (!opts.set_encoding (Enc::UTF32))  { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1985 "src/conf/parse_opts.cc"
-yy479:
-       ++YYCURSOR;
-#line 134 "../src/conf/parse_opts.re"
-       { version (); return EXIT_OK; }
-#line 1990 "src/conf/parse_opts.cc"
-yy481:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy508;
+       if (yych == 'n') goto yy508;
        goto yy276;
-yy482:
+yy478:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy509;
+       if (yych == '-') goto yy509;
        goto yy276;
-yy483:
+yy479:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy510;
+       if (yych == 'd') goto yy510;
        goto yy276;
+yy480:
+       ++YYCURSOR;
+#line 154 "../src/conf/parse_opts.re"
+       { if (!opts.set_encoding (Enc::UTF32))  { error_encoding (); return EXIT_FAIL; } goto opt; }
+#line 1997 "src/conf/parse_opts.cc"
+yy482:
+       ++YYCURSOR;
+#line 134 "../src/conf/parse_opts.re"
+       { version (); return EXIT_OK; }
+#line 2002 "src/conf/parse_opts.cc"
 yy484:
        yych = (YYCTYPE)*++YYCURSOR;
        if (yych == 'r') goto yy511;
        goto yy276;
 yy485:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy512;
+       if (yych == 'r') goto yy512;
        goto yy276;
 yy486:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy513;
+       if (yych == 'n') goto yy513;
        goto yy276;
 yy487:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy514;
+       if (yych == 'r') goto yy514;
        goto yy276;
 yy488:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy515;
+       if (yych == 'g') goto yy515;
        goto yy276;
 yy489:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy516;
+       if (yych == 'p') goto yy516;
        goto yy276;
 yy490:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'i') goto yy517;
+       goto yy276;
+yy491:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych <= 0x00) goto yy518;
+       goto yy276;
+yy492:
        yych = (YYCTYPE)*++YYCURSOR;
        switch (yych) {
-       case 'd':       goto yy518;
-       case 'm':       goto yy519;
-       case 'r':       goto yy520;
-       case 't':       goto yy521;
+       case 'd':       goto yy520;
+       case 'm':       goto yy521;
+       case 'r':       goto yy522;
+       case 't':       goto yy523;
        default:        goto yy276;
        }
-yy491:
+yy493:
        ++YYCURSOR;
 #line 139 "../src/conf/parse_opts.re"
        { opts.set_target (opt_t::DOT);      goto opt; }
-#line 2040 "src/conf/parse_opts.cc"
-yy493:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy522;
-       goto yy276;
-yy494:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy523;
-       goto yy276;
+#line 2048 "src/conf/parse_opts.cc"
 yy495:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy524;
+       if (yych == 's') goto yy524;
        goto yy276;
 yy496:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy525;
+       if (yych == 'p') goto yy525;
        goto yy276;
 yy497:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy526;
+       if (yych == 'a') goto yy526;
        goto yy276;
 yy498:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy527;
+       if (yych == 's') goto yy527;
        goto yy276;
 yy499:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy528;
+       if (yych == 'i') goto yy528;
        goto yy276;
 yy500:
-       ++YYCURSOR;
-#line 144 "../src/conf/parse_opts.re"
-       { opts.set_rFlag (true);             goto opt; }
-#line 2073 "src/conf/parse_opts.cc"
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 't') goto yy529;
+       goto yy276;
+yy501:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'n') goto yy530;
+       goto yy276;
 yy502:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy529;
+       if (yych == 't') goto yy531;
        goto yy276;
 yy503:
        ++YYCURSOR;
-#line 150 "../src/conf/parse_opts.re"
-       { opts.set_target (opt_t::SKELETON); goto opt; }
-#line 2082 "src/conf/parse_opts.cc"
+#line 144 "../src/conf/parse_opts.re"
+       { opts.set_rFlag (true);             goto opt; }
+#line 2085 "src/conf/parse_opts.cc"
 yy505:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy530;
+       if (yych == 's') goto yy532;
        goto yy276;
 yy506:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy531;
-       goto yy276;
-yy507:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy532;
-       goto yy276;
+       ++YYCURSOR;
+#line 150 "../src/conf/parse_opts.re"
+       { opts.set_target (opt_t::SKELETON); goto opt; }
+#line 2094 "src/conf/parse_opts.cc"
 yy508:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy533;
+       if (yych == 'd') goto yy533;
        goto yy276;
 yy509:
        yych = (YYCTYPE)*++YYCURSOR;
@@ -2101,225 +2101,228 @@ yy509:
        goto yy276;
 yy510:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy535;
+       if (yych == 'e') goto yy535;
        goto yy276;
 yy511:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy536;
+       if (yych == 's') goto yy536;
        goto yy276;
 yy512:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy537;
+       if (yych == 's') goto yy537;
        goto yy276;
 yy513:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy538;
+       if (yych == 's') goto yy538;
        goto yy276;
 yy514:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy539;
+       if (yych == 't') goto yy539;
        goto yy276;
 yy515:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'z') goto yy540;
+       if (yych == 'o') goto yy540;
        goto yy276;
 yy516:
-       ++YYCURSOR;
-#line 170 "../src/conf/parse_opts.re"
-       { opts.set_dump_adfa(true);       goto opt; }
-#line 2131 "src/conf/parse_opts.cc"
-yy518:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy541;
+       if (yych == 'u') goto yy541;
        goto yy276;
-yy519:
+yy517:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy542;
+       if (yych == 'z') goto yy542;
        goto yy276;
+yy518:
+       ++YYCURSOR;
+#line 170 "../src/conf/parse_opts.re"
+       { opts.set_dump_adfa(true);       goto opt; }
+#line 2139 "src/conf/parse_opts.cc"
 yy520:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy543;
+       if (yych == 'e') goto yy543;
        goto yy276;
 yy521:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy544;
+       if (yych == 'i') goto yy544;
        goto yy276;
 yy522:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy545;
+       if (yych == 'a') goto yy545;
        goto yy276;
 yy523:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy546;
+       if (yych == 'a') goto yy546;
        goto yy276;
 yy524:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'x') goto yy547;
+       if (yych == 's') goto yy547;
        goto yy276;
 yy525:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy548;
+       if (yych == 'o') goto yy548;
        goto yy276;
 yy526:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy550;
+       if (yych == 'x') goto yy549;
        goto yy276;
 yy527:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy551;
+       if (yych <= 0x00) goto yy550;
        goto yy276;
 yy528:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy552;
+       if (yych == 'n') goto yy552;
        goto yy276;
 yy529:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy554;
+       if (yych == 'i') goto yy553;
        goto yy276;
 yy530:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy555;
+       if (yych <= 0x00) goto yy554;
        goto yy276;
 yy531:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy556;
+       if (yych == 'i') goto yy556;
        goto yy276;
 yy532:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy557;
+       if (yych == 's') goto yy557;
        goto yy276;
 yy533:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy558;
+       if (yych == 'i') goto yy558;
        goto yy276;
 yy534:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy560;
+       if (yych == 't') goto yy559;
        goto yy276;
 yy535:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy562;
+       if (yych == 'r') goto yy560;
        goto yy276;
 yy536:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy563;
+       if (yych <= 0x00) goto yy561;
        goto yy276;
 yy537:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy564;
+       if (yych <= 0x00) goto yy563;
        goto yy276;
 yy538:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy565;
+       if (yych == 'i') goto yy565;
        goto yy276;
 yy539:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy566;
+       if (yych == 'e') goto yy566;
        goto yy276;
 yy540:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy568;
+       if (yych == 't') goto yy567;
        goto yy276;
 yy541:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy569;
+       if (yych == 't') goto yy568;
        goto yy276;
 yy542:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy570;
+       if (yych == 'a') goto yy569;
        goto yy276;
 yy543:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'w') goto yy571;
+       if (yych == 't') goto yy570;
        goto yy276;
 yy544:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'g') goto yy572;
+       if (yych == 'n') goto yy571;
        goto yy276;
 yy545:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy573;
+       if (yych == 'w') goto yy572;
        goto yy276;
 yy546:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy575;
+       if (yych == 'g') goto yy573;
        goto yy276;
 yy547:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy576;
+       if (yych <= 0x00) goto yy574;
        goto yy276;
 yy548:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'l') goto yy576;
+       goto yy276;
+yy549:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych <= 0x00) goto yy577;
+       goto yy276;
+yy550:
        ++YYCURSOR;
 #line 145 "../src/conf/parse_opts.re"
        { opts.set_sFlag (true);             goto opt; }
-#line 2256 "src/conf/parse_opts.cc"
-yy550:
+#line 2264 "src/conf/parse_opts.cc"
+yy552:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'f') goto yy578;
+       if (yych == 'f') goto yy579;
        goto yy276;
-yy551:
+yy553:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy579;
+       if (yych == 'o') goto yy580;
        goto yy276;
-yy552:
+yy554:
        ++YYCURSOR;
 #line 147 "../src/conf/parse_opts.re"
        { opts.set_version (false);          goto opt; }
-#line 2269 "src/conf/parse_opts.cc"
-yy554:
+#line 2277 "src/conf/parse_opts.cc"
+yy556:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy580;
+       if (yych == 'v') goto yy581;
        goto yy276;
-yy555:
+yy557:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy582;
+       if (yych <= 0x00) goto yy582;
        goto yy276;
-yy556:
+yy558:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy583;
+       if (yych == 't') goto yy584;
        goto yy276;
-yy557:
+yy559:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy584;
+       if (yych == 'a') goto yy585;
        goto yy276;
-yy558:
+yy560:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych <= 0x00) goto yy586;
+       goto yy276;
+yy561:
        ++YYCURSOR;
-#line 154 "../src/conf/parse_opts.re"
+#line 155 "../src/conf/parse_opts.re"
        { if (!opts.set_encoding (Enc::UCS2))   { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 2290 "src/conf/parse_opts.cc"
-yy560:
+#line 2302 "src/conf/parse_opts.cc"
+yy563:
        ++YYCURSOR;
 #line 136 "../src/conf/parse_opts.re"
        { opts.set_bFlag (true);             goto opt; }
-#line 2295 "src/conf/parse_opts.cc"
-yy562:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy586;
-       goto yy276;
-yy563:
+#line 2307 "src/conf/parse_opts.cc"
+yy565:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy587;
+       if (yych == 't') goto yy588;
        goto yy276;
-yy564:
+yy566:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy588;
+       if (yych == 'd') goto yy589;
        goto yy276;
-yy565:
+yy567:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy589;
+       if (yych == 'o') goto yy590;
        goto yy276;
-yy566:
-       ++YYCURSOR;
-#line 163 "../src/conf/parse_opts.re"
-       { goto opt_dfa_mapping; }
-#line 2316 "src/conf/parse_opts.cc"
 yy568:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy591;
+       if (yych <= 0x00) goto yy591;
        goto yy276;
 yy569:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy592;
+       if (yych == 't') goto yy593;
        goto yy276;
 yy570:
        yych = (YYCTYPE)*++YYCURSOR;
@@ -2331,243 +2334,288 @@ yy571:
        goto yy276;
 yy572:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy598;
+       if (yych <= 0x00) goto yy598;
        goto yy276;
 yy573:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'o') goto yy600;
+       goto yy276;
+yy574:
        ++YYCURSOR;
-#line 161 "../src/conf/parse_opts.re"
+#line 162 "../src/conf/parse_opts.re"
        { goto opt_empty_class; }
-#line 2341 "src/conf/parse_opts.cc"
-yy575:
+#line 2348 "src/conf/parse_opts.cc"
+yy576:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy599;
+       if (yych == 'i') goto yy601;
        goto yy276;
-yy576:
+yy577:
        ++YYCURSOR;
 #line 141 "../src/conf/parse_opts.re"
        { opts.set_FFlag (true);             goto opt; }
-#line 2350 "src/conf/parse_opts.cc"
-yy578:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy600;
-       goto yy276;
+#line 2357 "src/conf/parse_opts.cc"
 yy579:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy601;
+       if (yych == 'o') goto yy602;
        goto yy276;
 yy580:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'n') goto yy603;
+       goto yy276;
+yy581:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'e') goto yy604;
+       goto yy276;
+yy582:
        ++YYCURSOR;
 #line 164 "../src/conf/parse_opts.re"
        { goto opt; }
-#line 2363 "src/conf/parse_opts.cc"
-yy582:
+#line 2374 "src/conf/parse_opts.cc"
+yy584:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy602;
+       if (yych == 'i') goto yy605;
        goto yy276;
-yy583:
+yy585:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy603;
+       if (yych == 't') goto yy606;
        goto yy276;
-yy584:
+yy586:
        ++YYCURSOR;
-#line 158 "../src/conf/parse_opts.re"
+#line 159 "../src/conf/parse_opts.re"
        { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
-#line 2376 "src/conf/parse_opts.cc"
-yy586:
+#line 2387 "src/conf/parse_opts.cc"
+yy588:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy604;
+       if (yych == 'i') goto yy607;
        goto yy276;
-yy587:
+yy589:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy605;
+       if (yych <= 0x00) goto yy608;
        goto yy276;
-yy588:
+yy590:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy607;
+       if (yych == 's') goto yy610;
        goto yy276;
-yy589:
+yy591:
        ++YYCURSOR;
 #line 138 "../src/conf/parse_opts.re"
        { opts.set_dFlag (true);             goto opt; }
-#line 2393 "src/conf/parse_opts.cc"
-yy591:
+#line 2404 "src/conf/parse_opts.cc"
+yy593:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy608;
+       if (yych == 'i') goto yy611;
        goto yy276;
-yy592:
+yy594:
        ++YYCURSOR;
 #line 167 "../src/conf/parse_opts.re"
        { opts.set_dump_dfa_det(true);    goto opt; }
-#line 2402 "src/conf/parse_opts.cc"
-yy594:
+#line 2413 "src/conf/parse_opts.cc"
+yy596:
        ++YYCURSOR;
 #line 169 "../src/conf/parse_opts.re"
        { opts.set_dump_dfa_min(true);    goto opt; }
-#line 2407 "src/conf/parse_opts.cc"
-yy596:
+#line 2418 "src/conf/parse_opts.cc"
+yy598:
        ++YYCURSOR;
 #line 166 "../src/conf/parse_opts.re"
        { opts.set_dump_dfa_raw(true);    goto opt; }
-#line 2412 "src/conf/parse_opts.cc"
-yy598:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy609;
-       goto yy276;
-yy599:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy610;
-       goto yy276;
+#line 2423 "src/conf/parse_opts.cc"
 yy600:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy611;
+       if (yych == 'p') goto yy612;
        goto yy276;
 yy601:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy613;
+       if (yych == 'c') goto yy613;
        goto yy276;
 yy602:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy614;
+       if (yych <= 0x00) goto yy614;
        goto yy276;
 yy603:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy615;
+       if (yych == '-') goto yy616;
        goto yy276;
 yy604:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'v') goto yy616;
+       if (yych == '-') goto yy617;
        goto yy276;
 yy605:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'o') goto yy618;
+       goto yy276;
+yy606:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'e') goto yy619;
+       goto yy276;
+yy607:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'v') goto yy620;
+       goto yy276;
+yy608:
        ++YYCURSOR;
 #line 149 "../src/conf/parse_opts.re"
        { opts.set_bCaseInverted (true);     goto opt; }
-#line 2445 "src/conf/parse_opts.cc"
-yy607:
+#line 2460 "src/conf/parse_opts.cc"
+yy610:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy617;
+       if (yych <= 0x00) goto yy621;
        goto yy276;
-yy608:
+yy611:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy619;
+       if (yych == 'o') goto yy623;
        goto yy276;
-yy609:
+yy612:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy620;
+       if (yych == 't') goto yy624;
        goto yy276;
-yy610:
+yy613:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'y') goto yy621;
+       if (yych == 'y') goto yy625;
        goto yy276;
-yy611:
+yy614:
        ++YYCURSOR;
 #line 143 "../src/conf/parse_opts.re"
        { opts.set_iFlag (true);             goto opt; }
-#line 2466 "src/conf/parse_opts.cc"
-yy613:
+#line 2481 "src/conf/parse_opts.cc"
+yy616:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'd') goto yy622;
+       if (yych == 'd') goto yy626;
        goto yy276;
-yy614:
+yy617:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy623;
+       if (yych == 'm') goto yy627;
        goto yy276;
-yy615:
+yy618:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy624;
+       if (yych == 'n') goto yy628;
        goto yy276;
-yy616:
+yy619:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy626;
+       if (yych <= 0x00) goto yy629;
        goto yy276;
-yy617:
+yy620:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'e') goto yy631;
+       goto yy276;
+yy621:
        ++YYCURSOR;
 #line 142 "../src/conf/parse_opts.re"
        { opts.set_gFlag (true);             goto opt; }
-#line 2487 "src/conf/parse_opts.cc"
-yy619:
+#line 2506 "src/conf/parse_opts.cc"
+yy623:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy627;
+       if (yych == 'n') goto yy632;
        goto yy276;
-yy620:
+yy624:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy628;
+       if (yych <= 0x00) goto yy633;
        goto yy276;
-yy621:
+yy625:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy630;
+       if (yych <= 0x00) goto yy635;
        goto yy276;
-yy622:
+yy626:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy632;
+       if (yych == 'a') goto yy637;
        goto yy276;
-yy623:
+yy627:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy633;
+       if (yych == 'a') goto yy638;
        goto yy276;
-yy624:
+yy628:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 's') goto yy639;
+       goto yy276;
+yy629:
        ++YYCURSOR;
 #line 140 "../src/conf/parse_opts.re"
        { opts.set_fFlag (true);             goto opt; }
-#line 2512 "src/conf/parse_opts.cc"
-yy626:
+#line 2535 "src/conf/parse_opts.cc"
+yy631:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy634;
+       if (yych <= 0x00) goto yy640;
        goto yy276;
-yy627:
+yy632:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy636;
+       if (yych <= 0x00) goto yy642;
        goto yy276;
-yy628:
+yy633:
        ++YYCURSOR;
 #line 168 "../src/conf/parse_opts.re"
        { opts.set_dump_dfa_tagopt(true); goto opt; }
-#line 2525 "src/conf/parse_opts.cc"
-yy630:
+#line 2548 "src/conf/parse_opts.cc"
+yy635:
        ++YYCURSOR;
-#line 159 "../src/conf/parse_opts.re"
+#line 160 "../src/conf/parse_opts.re"
        { goto opt_encoding_policy; }
-#line 2530 "src/conf/parse_opts.cc"
-yy632:
+#line 2553 "src/conf/parse_opts.cc"
+yy637:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy638;
+       if (yych == 't') goto yy644;
        goto yy276;
-yy633:
+yy638:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy639;
+       if (yych == 'p') goto yy645;
        goto yy276;
-yy634:
+yy639:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych <= 0x00) goto yy646;
+       goto yy276;
+yy640:
        ++YYCURSOR;
 #line 148 "../src/conf/parse_opts.re"
        { opts.set_bCaseInsensitive (true);  goto opt; }
-#line 2543 "src/conf/parse_opts.cc"
-yy636:
+#line 2570 "src/conf/parse_opts.cc"
+yy642:
        ++YYCURSOR;
-#line 162 "../src/conf/parse_opts.re"
+#line 163 "../src/conf/parse_opts.re"
        { goto opt_dfa_minimization; }
-#line 2548 "src/conf/parse_opts.cc"
-yy638:
+#line 2575 "src/conf/parse_opts.cc"
+yy644:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy641;
+       if (yych == 'e') goto yy648;
        goto yy276;
-yy639:
+yy645:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'p') goto yy649;
+       goto yy276;
+yy646:
        ++YYCURSOR;
 #line 137 "../src/conf/parse_opts.re"
        { opts.set_cFlag (true);             goto opt; }
-#line 2557 "src/conf/parse_opts.cc"
-yy641:
+#line 2588 "src/conf/parse_opts.cc"
+yy648:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych >= 0x01) goto yy276;
+       if (yych <= 0x00) goto yy650;
+       goto yy276;
+yy649:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych == 'i') goto yy652;
+       goto yy276;
+yy650:
        ++YYCURSOR;
 #line 146 "../src/conf/parse_opts.re"
        { opts.set_bNoGenerationDate (true); goto opt; }
-#line 2564 "src/conf/parse_opts.cc"
+#line 2601 "src/conf/parse_opts.cc"
+yy652:
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych != 'n') goto yy276;
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych != 'g') goto yy276;
+       yych = (YYCTYPE)*++YYCURSOR;
+       if (yych >= 0x01) goto yy276;
+       ++YYCURSOR;
+#line 152 "../src/conf/parse_opts.re"
+       { opts.set_bijective_mapping(false); goto opt; }
+#line 2612 "src/conf/parse_opts.cc"
 }
 #line 171 "../src/conf/parse_opts.re"
 
 
 opt_output:
 
-#line 2571 "src/conf/parse_opts.cc"
+#line 2619 "src/conf/parse_opts.cc"
 {
        YYCTYPE yych;
        static const unsigned char yybm[] = {
@@ -2605,33 +2653,33 @@ opt_output:
                128, 128, 128, 128, 128, 128, 128, 128, 
        };
        yych = (YYCTYPE)*YYCURSOR;
-       if (yych <= 0x00) goto yy646;
-       if (yych != '-') goto yy648;
-yy646:
+       if (yych <= 0x00) goto yy659;
+       if (yych != '-') goto yy661;
+yy659:
        ++YYCURSOR;
 #line 176 "../src/conf/parse_opts.re"
        {
                error ("bad argument to option -o, --output: %s", *argv);
                return EXIT_FAIL;
        }
-#line 2618 "src/conf/parse_opts.cc"
-yy648:
+#line 2666 "src/conf/parse_opts.cc"
+yy661:
        ++YYCURSOR;
        yych = (YYCTYPE)*YYCURSOR;
        if (yybm[0+yych] & 128) {
-               goto yy648;
+               goto yy661;
        }
        ++YYCURSOR;
 #line 180 "../src/conf/parse_opts.re"
        { opts.set_output_file(*argv); goto opt; }
-#line 2628 "src/conf/parse_opts.cc"
+#line 2676 "src/conf/parse_opts.cc"
 }
 #line 181 "../src/conf/parse_opts.re"
 
 
 opt_header:
 
-#line 2635 "src/conf/parse_opts.cc"
+#line 2683 "src/conf/parse_opts.cc"
 {
        YYCTYPE yych;
        static const unsigned char yybm[] = {
@@ -2669,26 +2717,26 @@ opt_header:
                128, 128, 128, 128, 128, 128, 128, 128, 
        };
        yych = (YYCTYPE)*YYCURSOR;
-       if (yych <= 0x00) goto yy654;
-       if (yych != '-') goto yy656;
-yy654:
+       if (yych <= 0x00) goto yy667;
+       if (yych != '-') goto yy669;
+yy667:
        ++YYCURSOR;
 #line 186 "../src/conf/parse_opts.re"
        {
                error ("bad argument to option -t, --type-header: %s", *argv);
                return EXIT_FAIL;
        }
-#line 2682 "src/conf/parse_opts.cc"
-yy656:
+#line 2730 "src/conf/parse_opts.cc"
+yy669:
        ++YYCURSOR;
        yych = (YYCTYPE)*YYCURSOR;
        if (yybm[0+yych] & 128) {
-               goto yy656;
+               goto yy669;
        }
        ++YYCURSOR;
 #line 190 "../src/conf/parse_opts.re"
        { opts.set_header_file (*argv); goto opt; }
-#line 2692 "src/conf/parse_opts.cc"
+#line 2740 "src/conf/parse_opts.cc"
 }
 #line 191 "../src/conf/parse_opts.re"
 
@@ -2700,113 +2748,113 @@ opt_encoding_policy:
                return EXIT_FAIL;
        }
 
-#line 2704 "src/conf/parse_opts.cc"
+#line 2752 "src/conf/parse_opts.cc"
 {
        YYCTYPE yych;
        yych = (YYCTYPE)*YYCURSOR;
        if (yych <= 'h') {
-               if (yych == 'f') goto yy664;
+               if (yych == 'f') goto yy677;
        } else {
-               if (yych <= 'i') goto yy665;
-               if (yych == 's') goto yy666;
+               if (yych <= 'i') goto yy678;
+               if (yych == 's') goto yy679;
        }
        ++YYCURSOR;
-yy663:
+yy676:
 #line 201 "../src/conf/parse_opts.re"
        {
                error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv);
                return EXIT_FAIL;
        }
-#line 2721 "src/conf/parse_opts.cc"
-yy664:
+#line 2769 "src/conf/parse_opts.cc"
+yy677:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'a') goto yy667;
-       goto yy663;
-yy665:
+       if (yych == 'a') goto yy680;
+       goto yy676;
+yy678:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'g') goto yy669;
-       goto yy663;
-yy666:
+       if (yych == 'g') goto yy682;
+       goto yy676;
+yy679:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'u') goto yy670;
-       goto yy663;
-yy667:
+       if (yych == 'u') goto yy683;
+       goto yy676;
+yy680:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy671;
-yy668:
+       if (yych == 'i') goto yy684;
+yy681:
        YYCURSOR = YYMARKER;
-       goto yy663;
-yy669:
+       goto yy676;
+yy682:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy672;
-       goto yy668;
-yy670:
+       if (yych == 'n') goto yy685;
+       goto yy681;
+yy683:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'b') goto yy673;
-       goto yy668;
-yy671:
+       if (yych == 'b') goto yy686;
+       goto yy681;
+yy684:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy674;
-       goto yy668;
-yy672:
+       if (yych == 'l') goto yy687;
+       goto yy681;
+yy685:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy675;
-       goto yy668;
-yy673:
+       if (yych == 'o') goto yy688;
+       goto yy681;
+yy686:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy676;
-       goto yy668;
-yy674:
+       if (yych == 's') goto yy689;
+       goto yy681;
+yy687:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy677;
-       goto yy668;
-yy675:
+       if (yych <= 0x00) goto yy690;
+       goto yy681;
+yy688:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy679;
-       goto yy668;
-yy676:
+       if (yych == 'r') goto yy692;
+       goto yy681;
+yy689:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy680;
-       goto yy668;
-yy677:
+       if (yych == 't') goto yy693;
+       goto yy681;
+yy690:
        ++YYCURSOR;
 #line 207 "../src/conf/parse_opts.re"
        { opts.set_encoding_policy (Enc::POLICY_FAIL);       goto opt; }
-#line 2776 "src/conf/parse_opts.cc"
-yy679:
+#line 2824 "src/conf/parse_opts.cc"
+yy692:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy681;
-       goto yy668;
-yy680:
+       if (yych == 'e') goto yy694;
+       goto yy681;
+yy693:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy682;
-       goto yy668;
-yy681:
+       if (yych == 'i') goto yy695;
+       goto yy681;
+yy694:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy683;
-       goto yy668;
-yy682:
+       if (yych <= 0x00) goto yy696;
+       goto yy681;
+yy695:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy685;
-       goto yy668;
-yy683:
+       if (yych == 't') goto yy698;
+       goto yy681;
+yy696:
        ++YYCURSOR;
 #line 205 "../src/conf/parse_opts.re"
        { opts.set_encoding_policy (Enc::POLICY_IGNORE);     goto opt; }
-#line 2797 "src/conf/parse_opts.cc"
-yy685:
+#line 2845 "src/conf/parse_opts.cc"
+yy698:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych != 'u') goto yy668;
+       if (yych != 'u') goto yy681;
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych != 't') goto yy668;
+       if (yych != 't') goto yy681;
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych != 'e') goto yy668;
+       if (yych != 'e') goto yy681;
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych >= 0x01) goto yy668;
+       if (yych >= 0x01) goto yy681;
        ++YYCURSOR;
 #line 206 "../src/conf/parse_opts.re"
        { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; }
-#line 2810 "src/conf/parse_opts.cc"
+#line 2858 "src/conf/parse_opts.cc"
 }
 #line 208 "../src/conf/parse_opts.re"
 
@@ -2818,84 +2866,84 @@ opt_input:
                return EXIT_FAIL;
        }
 
-#line 2822 "src/conf/parse_opts.cc"
+#line 2870 "src/conf/parse_opts.cc"
 {
        YYCTYPE yych;
        yych = (YYCTYPE)*YYCURSOR;
-       if (yych <= 'b') goto yy693;
-       if (yych <= 'c') goto yy695;
-       if (yych <= 'd') goto yy696;
-yy693:
+       if (yych <= 'b') goto yy706;
+       if (yych <= 'c') goto yy708;
+       if (yych <= 'd') goto yy709;
+yy706:
        ++YYCURSOR;
-yy694:
+yy707:
 #line 218 "../src/conf/parse_opts.re"
        {
                error ("bad argument to option --input (expected: default | custom): %s", *argv);
                return EXIT_FAIL;
        }
-#line 2837 "src/conf/parse_opts.cc"
-yy695:
+#line 2885 "src/conf/parse_opts.cc"
+yy708:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'u') goto yy697;
-       goto yy694;
-yy696:
+       if (yych == 'u') goto yy710;
+       goto yy707;
+yy709:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'e') goto yy699;
-       goto yy694;
-yy697:
+       if (yych == 'e') goto yy712;
+       goto yy707;
+yy710:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 's') goto yy700;
-yy698:
+       if (yych == 's') goto yy713;
+yy711:
        YYCURSOR = YYMARKER;
-       goto yy694;
-yy699:
+       goto yy707;
+yy712:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'f') goto yy701;
-       goto yy698;
-yy700:
+       if (yych == 'f') goto yy714;
+       goto yy711;
+yy713:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy702;
-       goto yy698;
-yy701:
+       if (yych == 't') goto yy715;
+       goto yy711;
+yy714:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'a') goto yy703;
-       goto yy698;
-yy702:
+       if (yych == 'a') goto yy716;
+       goto yy711;
+yy715:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy704;
-       goto yy698;
-yy703:
+       if (yych == 'o') goto yy717;
+       goto yy711;
+yy716:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'u') goto yy705;
-       goto yy698;
-yy704:
+       if (yych == 'u') goto yy718;
+       goto yy711;
+yy717:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'm') goto yy706;
-       goto yy698;
-yy705:
+       if (yych == 'm') goto yy719;
+       goto yy711;
+yy718:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy707;
-       goto yy698;
-yy706:
+       if (yych == 'l') goto yy720;
+       goto yy711;
+yy719:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy708;
-       goto yy698;
-yy707:
+       if (yych <= 0x00) goto yy721;
+       goto yy711;
+yy720:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy710;
-       goto yy698;
-yy708:
+       if (yych == 't') goto yy723;
+       goto yy711;
+yy721:
        ++YYCURSOR;
 #line 223 "../src/conf/parse_opts.re"
        { opts.set_input_api (InputAPI::CUSTOM);  goto opt; }
-#line 2892 "src/conf/parse_opts.cc"
-yy710:
+#line 2940 "src/conf/parse_opts.cc"
+yy723:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych >= 0x01) goto yy698;
+       if (yych >= 0x01) goto yy711;
        ++YYCURSOR;
 #line 222 "../src/conf/parse_opts.re"
        { opts.set_input_api (InputAPI::DEFAULT); goto opt; }
-#line 2899 "src/conf/parse_opts.cc"
+#line 2947 "src/conf/parse_opts.cc"
 }
 #line 224 "../src/conf/parse_opts.re"
 
@@ -2907,118 +2955,118 @@ opt_empty_class:
                return EXIT_FAIL;
        }
 
-#line 2911 "src/conf/parse_opts.cc"
+#line 2959 "src/conf/parse_opts.cc"
 {
        YYCTYPE yych;
        yych = (YYCTYPE)*YYCURSOR;
-       if (yych == 'e') goto yy717;
-       if (yych == 'm') goto yy718;
+       if (yych == 'e') goto yy730;
+       if (yych == 'm') goto yy731;
        ++YYCURSOR;
-yy716:
+yy729:
 #line 234 "../src/conf/parse_opts.re"
        {
                error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv);
                return EXIT_FAIL;
        }
-#line 2924 "src/conf/parse_opts.cc"
-yy717:
+#line 2972 "src/conf/parse_opts.cc"
+yy730:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'r') goto yy719;
-       goto yy716;
-yy718:
+       if (yych == 'r') goto yy732;
+       goto yy729;
+yy731:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'a') goto yy721;
-       goto yy716;
-yy719:
+       if (yych == 'a') goto yy734;
+       goto yy729;
+yy732:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy722;
-yy720:
+       if (yych == 'r') goto yy735;
+yy733:
        YYCURSOR = YYMARKER;
-       goto yy716;
-yy721:
+       goto yy729;
+yy734:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy723;
-       goto yy720;
-yy722:
+       if (yych == 't') goto yy736;
+       goto yy733;
+yy735:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy724;
-       goto yy720;
-yy723:
+       if (yych == 'o') goto yy737;
+       goto yy733;
+yy736:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy725;
-       goto yy720;
-yy724:
+       if (yych == 'c') goto yy738;
+       goto yy733;
+yy737:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy726;
-       goto yy720;
-yy725:
+       if (yych == 'r') goto yy739;
+       goto yy733;
+yy738:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'h') goto yy727;
-       goto yy720;
-yy726:
+       if (yych == 'h') goto yy740;
+       goto yy733;
+yy739:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy728;
-       goto yy720;
-yy727:
+       if (yych <= 0x00) goto yy741;
+       goto yy733;
+yy740:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == '-') goto yy730;
-       goto yy720;
-yy728:
+       if (yych == '-') goto yy743;
+       goto yy733;
+yy741:
        ++YYCURSOR;
 #line 240 "../src/conf/parse_opts.re"
        { opts.set_empty_class_policy (EMPTY_CLASS_ERROR);       goto opt; }
-#line 2971 "src/conf/parse_opts.cc"
-yy730:
+#line 3019 "src/conf/parse_opts.cc"
+yy743:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy731;
-       if (yych == 'n') goto yy732;
-       goto yy720;
-yy731:
+       if (yych == 'e') goto yy744;
+       if (yych == 'n') goto yy745;
+       goto yy733;
+yy744:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'm') goto yy733;
-       goto yy720;
-yy732:
+       if (yych == 'm') goto yy746;
+       goto yy733;
+yy745:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy734;
-       goto yy720;
-yy733:
+       if (yych == 'o') goto yy747;
+       goto yy733;
+yy746:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'p') goto yy735;
-       goto yy720;
-yy734:
+       if (yych == 'p') goto yy748;
+       goto yy733;
+yy747:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'n') goto yy736;
-       goto yy720;
-yy735:
+       if (yych == 'n') goto yy749;
+       goto yy733;
+yy748:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy737;
-       goto yy720;
-yy736:
+       if (yych == 't') goto yy750;
+       goto yy733;
+yy749:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy738;
-       goto yy720;
-yy737:
+       if (yych == 'e') goto yy751;
+       goto yy733;
+yy750:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'y') goto yy739;
-       goto yy720;
-yy738:
+       if (yych == 'y') goto yy752;
+       goto yy733;
+yy751:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy740;
-       goto yy720;
-yy739:
+       if (yych <= 0x00) goto yy753;
+       goto yy733;
+yy752:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy742;
-       goto yy720;
-yy740:
+       if (yych <= 0x00) goto yy755;
+       goto yy733;
+yy753:
        ++YYCURSOR;
 #line 239 "../src/conf/parse_opts.re"
        { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE);  goto opt; }
-#line 3017 "src/conf/parse_opts.cc"
-yy742:
+#line 3065 "src/conf/parse_opts.cc"
+yy755:
        ++YYCURSOR;
 #line 238 "../src/conf/parse_opts.re"
        { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; }
-#line 3022 "src/conf/parse_opts.cc"
+#line 3070 "src/conf/parse_opts.cc"
 }
 #line 241 "../src/conf/parse_opts.re"
 
@@ -3030,184 +3078,76 @@ opt_dfa_minimization:
                return EXIT_FAIL;
        }
 
-#line 3034 "src/conf/parse_opts.cc"
+#line 3082 "src/conf/parse_opts.cc"
 {
        YYCTYPE yych;
        yych = (YYCTYPE)*YYCURSOR;
-       if (yych == 'm') goto yy748;
-       if (yych == 't') goto yy749;
+       if (yych == 'm') goto yy761;
+       if (yych == 't') goto yy762;
        ++YYCURSOR;
-yy747:
+yy760:
 #line 251 "../src/conf/parse_opts.re"
        {
                error ("bad argument to option --dfa-minimization (expected: table | moore): %s", *argv);
                return EXIT_FAIL;
        }
-#line 3047 "src/conf/parse_opts.cc"
-yy748:
+#line 3095 "src/conf/parse_opts.cc"
+yy761:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'o') goto yy750;
-       goto yy747;
-yy749:
+       if (yych == 'o') goto yy763;
+       goto yy760;
+yy762:
        yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'a') goto yy752;
-       goto yy747;
-yy750:
+       if (yych == 'a') goto yy765;
+       goto yy760;
+yy763:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'o') goto yy753;
-yy751:
+       if (yych == 'o') goto yy766;
+yy764:
        YYCURSOR = YYMARKER;
-       goto yy747;
-yy752:
+       goto yy760;
+yy765:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'b') goto yy754;
-       goto yy751;
-yy753:
+       if (yych == 'b') goto yy767;
+       goto yy764;
+yy766:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'r') goto yy755;
-       goto yy751;
-yy754:
+       if (yych == 'r') goto yy768;
+       goto yy764;
+yy767:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'l') goto yy756;
-       goto yy751;
-yy755:
+       if (yych == 'l') goto yy769;
+       goto yy764;
+yy768:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy757;
-       goto yy751;
-yy756:
+       if (yych == 'e') goto yy770;
+       goto yy764;
+yy769:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy758;
-       goto yy751;
-yy757:
+       if (yych == 'e') goto yy771;
+       goto yy764;
+yy770:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy759;
-       goto yy751;
-yy758:
+       if (yych <= 0x00) goto yy772;
+       goto yy764;
+yy771:
        yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy761;
-       goto yy751;
-yy759:
+       if (yych <= 0x00) goto yy774;
+       goto yy764;
+yy772:
        ++YYCURSOR;
 #line 256 "../src/conf/parse_opts.re"
        { opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; }
-#line 3094 "src/conf/parse_opts.cc"
-yy761:
+#line 3142 "src/conf/parse_opts.cc"
+yy774:
        ++YYCURSOR;
 #line 255 "../src/conf/parse_opts.re"
        { opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; }
-#line 3099 "src/conf/parse_opts.cc"
+#line 3147 "src/conf/parse_opts.cc"
 }
 #line 257 "../src/conf/parse_opts.re"
 
 
-opt_dfa_mapping:
-       if (!next(YYCURSOR, argv)) {
-               error_arg("--mapping");
-               return EXIT_FAIL;
-       }
-
-#line 3110 "src/conf/parse_opts.cc"
-{
-       YYCTYPE yych;
-       yych = (YYCTYPE)*YYCURSOR;
-       if (yych == 'b') goto yy767;
-       if (yych == 'i') goto yy768;
-       ++YYCURSOR;
-yy766:
-#line 265 "../src/conf/parse_opts.re"
-       {
-               error("bad argument to option --dfa-mapping (expected: bijective | injective): %s", *argv);
-               return EXIT_FAIL;
-       }
-#line 3123 "src/conf/parse_opts.cc"
-yy767:
-       yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'i') goto yy769;
-       goto yy766;
-yy768:
-       yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
-       if (yych == 'n') goto yy771;
-       goto yy766;
-yy769:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'j') goto yy772;
-yy770:
-       YYCURSOR = YYMARKER;
-       goto yy766;
-yy771:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'j') goto yy773;
-       goto yy770;
-yy772:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy774;
-       goto yy770;
-yy773:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy775;
-       goto yy770;
-yy774:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy776;
-       goto yy770;
-yy775:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'c') goto yy777;
-       goto yy770;
-yy776:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy778;
-       goto yy770;
-yy777:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 't') goto yy779;
-       goto yy770;
-yy778:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy780;
-       goto yy770;
-yy779:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'i') goto yy781;
-       goto yy770;
-yy780:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'v') goto yy782;
-       goto yy770;
-yy781:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'v') goto yy783;
-       goto yy770;
-yy782:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy784;
-       goto yy770;
-yy783:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych == 'e') goto yy785;
-       goto yy770;
-yy784:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy786;
-       goto yy770;
-yy785:
-       yych = (YYCTYPE)*++YYCURSOR;
-       if (yych <= 0x00) goto yy788;
-       goto yy770;
-yy786:
-       ++YYCURSOR;
-#line 269 "../src/conf/parse_opts.re"
-       { opts.set_dfa_mapping(mapping_t::BIJECTIVE); goto opt; }
-#line 3202 "src/conf/parse_opts.cc"
-yy788:
-       ++YYCURSOR;
-#line 270 "../src/conf/parse_opts.re"
-       { opts.set_dfa_mapping(mapping_t::INJECTIVE); goto opt; }
-#line 3207 "src/conf/parse_opts.cc"
-}
-#line 271 "../src/conf/parse_opts.re"
-
-
 end:
        if (!opts.source_file)
        {
index b4e2f05e8ef85dc44443a8b29dc47d2b71a2b40b..60fe239389b02b4c589f1f98ebc8342c700509da 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.16 on Sun Dec  4 14:46:23 2016 */
+/* Generated by re2c 0.16 on Mon Dec 12 13:39:55 2016 */
 #line 1 "../src/parse/lex_conf.re"
 #include "src/util/c99_stdint.h"
 #include <string>
@@ -186,35 +186,35 @@ yy14:
                                                goto yy191;
                                        }
                                } else {
-                                       goto yy282;
+                                       goto yy284;
                                }
                        } else {
                                if (yyaccept <= 16) {
                                        if (yyaccept == 15) {
-                                               goto yy358;
+                                               goto yy361;
                                        } else {
-                                               goto yy434;
+                                               goto yy437;
                                        }
                                } else {
-                                       goto yy543;
+                                       goto yy546;
                                }
                        }
                } else {
                        if (yyaccept <= 20) {
                                if (yyaccept <= 19) {
                                        if (yyaccept == 18) {
-                                               goto yy602;
+                                               goto yy605;
                                        } else {
-                                               goto yy643;
+                                               goto yy646;
                                        }
                                } else {
-                                       goto yy650;
+                                       goto yy653;
                                }
                        } else {
                                if (yyaccept == 21) {
-                                       goto yy734;
+                                       goto yy739;
                                } else {
-                                       goto yy737;
+                                       goto yy742;
                                }
                        }
                }
@@ -565,7 +565,7 @@ yy89:
        goto yy14;
 yy90:
        ++cur;
-#line 66 "../src/parse/lex_conf.re"
+#line 67 "../src/parse/lex_conf.re"
        { lex_conf_enc(Enc::UTF8);   return; }
 #line 571 "src/parse/lex_conf.cc"
 yy92:
@@ -576,7 +576,7 @@ yy92:
 yy94:
        ++cur;
 #line 51 "../src/parse/lex_conf.re"
-       { opts.set_FFlag(lex_conf_bool());             return; }
+       { opts.set_FFlag(lex_conf_bool());              return; }
 #line 581 "src/parse/lex_conf.cc"
 yy96:
        ++cur;
@@ -586,7 +586,7 @@ yy96:
 yy98:
        ++cur;
 #line 56 "../src/parse/lex_conf.re"
-       { opts.set_tags(lex_conf_bool());              return; }
+       { opts.set_tags(lex_conf_bool());               return; }
 #line 591 "src/parse/lex_conf.cc"
 yy100:
        yyaccept = 1;
@@ -594,7 +594,7 @@ yy100:
        if (yych == 'i') goto yy149;
 yy101:
 #line 47 "../src/parse/lex_conf.re"
-       { opts.set_bFlag(lex_conf_bool());             return; }
+       { opts.set_bFlag(lex_conf_bool());              return; }
 #line 599 "src/parse/lex_conf.cc"
 yy102:
        yyaccept = 2;
@@ -603,7 +603,7 @@ yy102:
        if (yych == 'o') goto yy151;
 yy103:
 #line 48 "../src/parse/lex_conf.re"
-       { opts.set_cFlag(lex_conf_bool());             return; }
+       { opts.set_cFlag(lex_conf_bool());              return; }
 #line 608 "src/parse/lex_conf.cc"
 yy104:
        yyaccept = 3;
@@ -613,7 +613,7 @@ yy104:
        if (yych <= 'f') goto yy153;
 yy105:
 #line 49 "../src/parse/lex_conf.re"
-       { opts.set_dFlag(lex_conf_bool());             return; }
+       { opts.set_dFlag(lex_conf_bool());              return; }
 #line 618 "src/parse/lex_conf.cc"
 yy106:
        yyaccept = 4;
@@ -625,7 +625,7 @@ yy106:
                if (yych <= 'n') goto yy156;
        }
 yy107:
-#line 62 "../src/parse/lex_conf.re"
+#line 63 "../src/parse/lex_conf.re"
        { lex_conf_enc(Enc::EBCDIC); return; }
 #line 631 "src/parse/lex_conf.cc"
 yy108:
@@ -634,12 +634,12 @@ yy108:
        if (yych == 'l') goto yy157;
 yy109:
 #line 50 "../src/parse/lex_conf.re"
-       { opts.set_fFlag(lex_conf_bool());             return; }
+       { opts.set_fFlag(lex_conf_bool());              return; }
 #line 639 "src/parse/lex_conf.cc"
 yy110:
        ++cur;
 #line 52 "../src/parse/lex_conf.re"
-       { opts.set_gFlag(lex_conf_bool());             return; }
+       { opts.set_gFlag(lex_conf_bool());              return; }
 #line 644 "src/parse/lex_conf.cc"
 yy112:
        yyaccept = 6;
@@ -647,7 +647,7 @@ yy112:
        if (yych == 'n') goto yy158;
 yy113:
 #line 53 "../src/parse/lex_conf.re"
-       { opts.set_iFlag(lex_conf_bool());             return; }
+       { opts.set_iFlag(lex_conf_bool());              return; }
 #line 652 "src/parse/lex_conf.cc"
 yy114:
        yych = (unsigned char)*++cur;
@@ -659,7 +659,7 @@ yy115:
        yych = (unsigned char)*(ptr = ++cur);
        if (yych == 'u') goto yy161;
 yy116:
-#line 68 "../src/parse/lex_conf.re"
+#line 69 "../src/parse/lex_conf.re"
        { opts.set_output_file(lex_conf_string()); return; }
 #line 665 "src/parse/lex_conf.cc"
 yy117:
@@ -668,7 +668,7 @@ yy117:
        if (yych == 'e') goto yy162;
 yy118:
 #line 54 "../src/parse/lex_conf.re"
-       { opts.set_rFlag(lex_conf_bool());             return; }
+       { opts.set_rFlag(lex_conf_bool());              return; }
 #line 673 "src/parse/lex_conf.cc"
 yy119:
        yyaccept = 9;
@@ -677,7 +677,7 @@ yy119:
        if (yych == 't') goto yy164;
 yy120:
 #line 55 "../src/parse/lex_conf.re"
-       { opts.set_sFlag(lex_conf_bool());             return; }
+       { opts.set_sFlag(lex_conf_bool());              return; }
 #line 682 "src/parse/lex_conf.cc"
 yy121:
        yyaccept = 10;
@@ -685,7 +685,7 @@ yy121:
        if (yych == 'a') goto yy165;
        if (yych == 'y') goto yy166;
 yy122:
-#line 69 "../src/parse/lex_conf.re"
+#line 70 "../src/parse/lex_conf.re"
        { opts.set_header_file(lex_conf_string()); return; }
 #line 691 "src/parse/lex_conf.cc"
 yy123:
@@ -694,7 +694,7 @@ yy123:
        if (yych == 'n') goto yy167;
        if (yych == 't') goto yy168;
 yy124:
-#line 63 "../src/parse/lex_conf.re"
+#line 64 "../src/parse/lex_conf.re"
        { lex_conf_enc(Enc::UTF32);  return; }
 #line 700 "src/parse/lex_conf.cc"
 yy125:
@@ -702,12 +702,12 @@ yy125:
        yych = (unsigned char)*(ptr = ++cur);
        if (yych == 'i') goto yy169;
 yy126:
-#line 64 "../src/parse/lex_conf.re"
+#line 65 "../src/parse/lex_conf.re"
        { lex_conf_enc(Enc::UCS2);   return; }
 #line 708 "src/parse/lex_conf.cc"
 yy127:
        ++cur;
-#line 65 "../src/parse/lex_conf.re"
+#line 66 "../src/parse/lex_conf.re"
        { lex_conf_enc(Enc::UTF16);  return; }
 #line 713 "src/parse/lex_conf.cc"
 yy129:
@@ -846,486 +846,495 @@ yy159:
 yy160:
        yych = (unsigned char)*++cur;
        if (yych == '-') goto yy207;
+       if (yych == 'n') goto yy208;
        goto yy14;
 yy161:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy208;
+       if (yych == 't') goto yy209;
        goto yy14;
 yy162:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy209;
+       if (yych == 'u') goto yy210;
        goto yy14;
 yy163:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy210;
+       if (yych == 'e') goto yy211;
        goto yy14;
 yy164:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy211;
-       if (yych == 'o') goto yy212;
+       if (yych == 'a') goto yy212;
+       if (yych == 'o') goto yy213;
        goto yy14;
 yy165:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy213;
+       if (yych == 'g') goto yy214;
        goto yy14;
 yy166:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy214;
+       if (yych == 'p') goto yy215;
        goto yy14;
 yy167:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy215;
+       if (yych == 'i') goto yy216;
        goto yy14;
 yy168:
        yych = (unsigned char)*++cur;
-       if (yych == 'f') goto yy216;
+       if (yych == 'f') goto yy217;
        goto yy14;
 yy169:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy217;
+       if (yych == 'd') goto yy218;
        goto yy14;
 yy170:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy218;
+       if (yych == 't') goto yy219;
        goto yy14;
 yy171:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy219;
+       if (yych == 'o') goto yy220;
        goto yy14;
 yy172:
        yych = (unsigned char)*++cur;
-       if (yych == 'F') goto yy220;
-       if (yych == 'N') goto yy221;
+       if (yych == 'F') goto yy221;
+       if (yych == 'N') goto yy222;
        goto yy14;
 yy173:
        yych = (unsigned char)*++cur;
-       if (yych == 'f') goto yy222;
+       if (yych == 'f') goto yy223;
        goto yy14;
 yy174:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy223;
+       if (yych == 'e') goto yy224;
        goto yy14;
 yy175:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy224;
+       if (yych == 'o') goto yy225;
        goto yy14;
 yy176:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy225;
+       if (yych == 'x') goto yy226;
        goto yy14;
 yy177:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy226;
+       if (yych == 'a') goto yy227;
        goto yy14;
 yy178:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy227;
+       if (yych == 'r') goto yy228;
        goto yy14;
 yy179:
        yych = (unsigned char)*++cur;
-       if (yych == 'f') goto yy228;
+       if (yych == 'f') goto yy229;
        goto yy14;
 yy180:
        yych = (unsigned char)*++cur;
-       if (yych == ':') goto yy229;
+       if (yych == ':') goto yy230;
        goto yy14;
 yy181:
        ++cur;
 #line 103 "../src/parse/lex_conf.re"
        { opts.set_yybmHexTable (lex_conf_bool()); return; }
-#line 937 "src/parse/lex_conf.cc"
+#line 938 "src/parse/lex_conf.cc"
 yy183:
        yych = (unsigned char)*++cur;
-       if (yych == 'v') goto yy230;
+       if (yych == 'v') goto yy231;
        goto yy14;
 yy184:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy231;
+       if (yych == 't') goto yy232;
        goto yy14;
 yy185:
        yych = (unsigned char)*++cur;
-       if (yych == 'h') goto yy233;
+       if (yych == 'h') goto yy234;
        goto yy14;
 yy186:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy234;
+       if (yych == 'n') goto yy235;
        goto yy14;
 yy187:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy235;
+       if (yych == 'a') goto yy236;
        goto yy14;
 yy188:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy236;
+       if (yych == 'e') goto yy237;
        goto yy14;
 yy189:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy237;
+       if (yych == 'd') goto yy238;
        goto yy14;
 yy190:
        yyaccept = 13;
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == '@') goto yy238;
+       if (yych == '@') goto yy239;
 yy191:
 #line 87 "../src/parse/lex_conf.re"
        { opts.set_condGoto         (lex_conf_string ()); return; }
-#line 973 "src/parse/lex_conf.cc"
+#line 974 "src/parse/lex_conf.cc"
 yy192:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy239;
+       if (yych == 'r') goto yy240;
        goto yy14;
 yy193:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy240;
+       if (yych == 'x') goto yy241;
        goto yy14;
 yy194:
        yych = (unsigned char)*++cur;
        switch (yych) {
-       case 'B':       goto yy242;
-       case 'C':       goto yy243;
-       case 'D':       goto yy244;
-       case 'F':       goto yy245;
-       case 'G':       goto yy246;
-       case 'L':       goto yy247;
-       case 'M':       goto yy248;
-       case 'P':       goto yy249;
-       case 'R':       goto yy250;
-       case 'S':       goto yy251;
+       case 'B':       goto yy243;
+       case 'C':       goto yy244;
+       case 'D':       goto yy245;
+       case 'F':       goto yy246;
+       case 'G':       goto yy247;
+       case 'L':       goto yy248;
+       case 'M':       goto yy249;
+       case 'P':       goto yy250;
+       case 'R':       goto yy251;
+       case 'S':       goto yy252;
        default:        goto yy14;
        }
 yy195:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy252;
+       if (yych == '-') goto yy253;
        goto yy14;
 yy196:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy253;
+       if (yych == 'e') goto yy254;
        goto yy14;
 yy197:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy254;
+       if (yych == 'p') goto yy255;
        goto yy14;
 yy198:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy255;
+       if (yych == 'u') goto yy256;
        goto yy14;
 yy199:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy256;
+       if (yych == '-') goto yy257;
        goto yy14;
 yy200:
        yych = (unsigned char)*++cur;
        goto yy107;
 yy201:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy257;
+       if (yych == 't') goto yy258;
        goto yy14;
 yy202:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy258;
+       if (yych == 't') goto yy259;
        goto yy14;
 yy203:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy259;
+       if (yych == 'o') goto yy260;
        goto yy14;
 yy204:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy260;
+       if (yych == 'x') goto yy261;
        goto yy14;
 yy205:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy261;
+       if (yych == 'u') goto yy262;
        goto yy14;
 yy206:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy262;
+       if (yych == 't') goto yy263;
        goto yy14;
 yy207:
        yych = (unsigned char)*++cur;
        if (yych <= 'f') {
-               if (yych == 'd') goto yy263;
+               if (yych == 'd') goto yy264;
                goto yy14;
        } else {
-               if (yych <= 'g') goto yy264;
-               if (yych == 'v') goto yy265;
+               if (yych <= 'g') goto yy265;
+               if (yych == 'v') goto yy266;
                goto yy14;
        }
 yy208:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy266;
+       if (yych == '-') goto yy267;
        goto yy14;
 yy209:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy267;
+       if (yych == 'p') goto yy268;
        goto yy14;
 yy210:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy268;
+       if (yych == 's') goto yy269;
        goto yy14;
 yy211:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy269;
+       if (yych == 'l') goto yy270;
        goto yy14;
 yy212:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy270;
+       if (yych == 'r') goto yy271;
        goto yy14;
 yy213:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy98;
+       if (yych == 'r') goto yy272;
        goto yy14;
 yy214:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy271;
+       if (yych == 's') goto yy98;
        goto yy14;
 yy215:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy272;
+       if (yych == 'e') goto yy273;
        goto yy14;
 yy216:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy273;
+       if (yych == 'c') goto yy274;
        goto yy14;
 yy217:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy274;
+       if (yych == '-') goto yy275;
        goto yy14;
 yy218:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy275;
+       if (yych == 'e') goto yy276;
        goto yy14;
 yy219:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy276;
+       if (yych == 'r') goto yy277;
        goto yy14;
 yy220:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy278;
+       if (yych == 'p') goto yy278;
        goto yy14;
 yy221:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy279;
+       if (yych == 'i') goto yy280;
        goto yy14;
 yy222:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy280;
+       if (yych == 'e') goto yy281;
        goto yy14;
 yy223:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy281;
+       if (yych == 'i') goto yy282;
        goto yy14;
 yy224:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy283;
+       if (yych == 'l') goto yy283;
        goto yy14;
 yy225:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy284;
+       if (yych == 'r') goto yy285;
        goto yy14;
 yy226:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy285;
+       if (yych == 't') goto yy286;
        goto yy14;
 yy227:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy286;
+       if (yych == 'u') goto yy287;
        goto yy14;
 yy228:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy287;
+       if (yych == 'e') goto yy288;
        goto yy14;
 yy229:
        yych = (unsigned char)*++cur;
-       if (yych == 'y') goto yy288;
+       if (yych == 'i') goto yy289;
        goto yy14;
 yy230:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy289;
+       if (yych == 'y') goto yy290;
        goto yy14;
 yy231:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy291;
+       goto yy14;
+yy232:
        ++cur;
 #line 153 "../src/parse/lex_conf.re"
        { opts.set_bEmitYYCh      (lex_conf_bool()); return; }
-#line 1150 "src/parse/lex_conf.cc"
-yy233:
-       yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy290;
-       goto yy14;
+#line 1155 "src/parse/lex_conf.cc"
 yy234:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy291;
+       if (yych == 'e') goto yy292;
        goto yy14;
 yy235:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy292;
+       if (yych == 'a') goto yy293;
        goto yy14;
 yy236:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy293;
+       if (yych == 'r') goto yy294;
        goto yy14;
 yy237:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy294;
+       if (yych == 's') goto yy295;
        goto yy14;
 yy238:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy295;
+       if (yych == 'e') goto yy296;
        goto yy14;
 yy239:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy296;
+       if (yych == 'c') goto yy297;
        goto yy14;
 yy240:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy298;
+       goto yy14;
+yy241:
        ++cur;
 #line 83 "../src/parse/lex_conf.re"
        { opts.set_condPrefix       (lex_conf_string ()); return; }
-#line 1183 "src/parse/lex_conf.cc"
-yy242:
+#line 1188 "src/parse/lex_conf.cc"
+yy243:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy297;
+       if (yych == 'A') goto yy299;
        goto yy14;
-yy243:
+yy244:
        yych = (unsigned char)*++cur;
        if (yych <= 'S') {
-               if (yych == 'O') goto yy298;
+               if (yych == 'O') goto yy300;
                goto yy14;
        } else {
-               if (yych <= 'T') goto yy299;
-               if (yych <= 'U') goto yy300;
+               if (yych <= 'T') goto yy301;
+               if (yych <= 'U') goto yy302;
                goto yy14;
        }
-yy244:
-       yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy301;
-       goto yy14;
 yy245:
        yych = (unsigned char)*++cur;
-       if (yych == 'I') goto yy302;
+       if (yych == 'E') goto yy303;
        goto yy14;
 yy246:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy303;
+       if (yych == 'I') goto yy304;
        goto yy14;
 yy247:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy304;
-       if (yych == 'I') goto yy305;
+       if (yych == 'E') goto yy305;
        goto yy14;
 yy248:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy306;
+       if (yych == 'E') goto yy306;
+       if (yych == 'I') goto yy307;
        goto yy14;
 yy249:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy307;
+       if (yych == 'A') goto yy308;
        goto yy14;
 yy250:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy308;
+       if (yych == 'E') goto yy309;
        goto yy14;
 yy251:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy309;
-       if (yych == 'K') goto yy310;
+       if (yych == 'E') goto yy310;
        goto yy14;
 yy252:
        yych = (unsigned char)*++cur;
-       if (yych == 'v') goto yy311;
+       if (yych == 'E') goto yy311;
+       if (yych == 'K') goto yy312;
        goto yy14;
 yy253:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy312;
+       if (yych == 'v') goto yy313;
        goto yy14;
 yy254:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy313;
+       if (yych == '-') goto yy314;
        goto yy14;
 yy255:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy314;
+       if (yych == 'u') goto yy315;
        goto yy14;
 yy256:
        yych = (unsigned char)*++cur;
-       if (yych == 'm') goto yy315;
+       if (yych == 'g') goto yy316;
        goto yy14;
 yy257:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy316;
+       if (yych == 'm') goto yy317;
        goto yy14;
 yy258:
        yych = (unsigned char)*++cur;
-       if (yych == 'y') goto yy317;
+       if (yych == '-') goto yy318;
        goto yy14;
 yy259:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy318;
+       if (yych == 'y') goto yy319;
        goto yy14;
 yy260:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy319;
+       if (yych == 'd') goto yy320;
        goto yy14;
 yy261:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy320;
+       if (yych == '-') goto yy321;
        goto yy14;
 yy262:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy322;
+       if (yych == 't') goto yy322;
        goto yy14;
 yy263:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy323;
+       if (yych == 'e') goto yy324;
        goto yy14;
 yy264:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy324;
+       if (yych == 'e') goto yy325;
        goto yy14;
 yy265:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy325;
+       if (yych == 'e') goto yy326;
        goto yy14;
 yy266:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy326;
+       if (yych == 'e') goto yy327;
        goto yy14;
 yy267:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy327;
+       if (yych == 'b') goto yy328;
        goto yy14;
 yy268:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy328;
+       if (yych == 'u') goto yy329;
        goto yy14;
 yy269:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy329;
+       if (yych == 'a') goto yy330;
        goto yy14;
 yy270:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy330;
+       if (yych == 'e') goto yy331;
        goto yy14;
 yy271:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy331;
+       if (yych == 't') goto yy332;
        goto yy14;
 yy272:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy332;
+       if (yych == 'a') goto yy333;
        goto yy14;
 yy273:
        yych = (unsigned char)*++cur;
-       if (yych == '1') goto yy333;
-       if (yych == '8') goto yy90;
+       if (yych == '-') goto yy334;
        goto yy14;
 yy274:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy334;
+       if (yych == 'o') goto yy335;
        goto yy14;
 yy275:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy335;
+       if (yych == '1') goto yy336;
+       if (yych == '8') goto yy90;
        goto yy14;
 yy276:
+       yych = (unsigned char)*++cur;
+       if (yych == '-') goto yy337;
+       goto yy14;
+yy277:
+       yych = (unsigned char)*++cur;
+       if (yych == 'i') goto yy338;
+       goto yy14;
+yy278:
        ++cur;
 #line 138 "../src/parse/lex_conf.re"
        {
@@ -1337,229 +1346,220 @@ yy276:
                opts.set_topIndent (static_cast<uint32_t> (n));
                return;
        }
-#line 1341 "src/parse/lex_conf.cc"
-yy278:
+#line 1350 "src/parse/lex_conf.cc"
+yy280:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy336;
+       if (yych == 'l') goto yy339;
        goto yy14;
-yy279:
+yy281:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy337;
+       if (yych == 'x') goto yy340;
        goto yy14;
-yy280:
+yy282:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy338;
+       if (yych == 'x') goto yy341;
        goto yy14;
-yy281:
+yy283:
        yyaccept = 14;
        yych = (unsigned char)*(ptr = ++cur);
        if (yych <= 0x1F) {
                if (yych == '\t') {
                        ctx = cur;
-                       goto yy340;
+                       goto yy343;
                }
        } else {
                if (yych <= ' ') {
                        ctx = cur;
-                       goto yy340;
+                       goto yy343;
                }
                if (yych == '=') {
                        ctx = cur;
-                       goto yy342;
+                       goto yy345;
                }
        }
-yy282:
+yy284:
 #line 166 "../src/parse/lex_conf.re"
        { out.block().user_start_label = lex_conf_string(); return; }
-#line 1375 "src/parse/lex_conf.cc"
-yy283:
-       yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy344;
-       goto yy14;
-yy284:
-       yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy346;
-       goto yy14;
+#line 1384 "src/parse/lex_conf.cc"
 yy285:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy347;
+       if (yych == 't') goto yy347;
        goto yy14;
 yy286:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy348;
+       if (yych == 'l') goto yy349;
        goto yy14;
 yy287:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy349;
+       if (yych == 'l') goto yy350;
        goto yy14;
 yy288:
        yych = (unsigned char)*++cur;
-       if (yych == 'y') goto yy351;
+       if (yych == 's') goto yy351;
        goto yy14;
 yy289:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy352;
+       if (yych == 'x') goto yy352;
        goto yy14;
 yy290:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy353;
+       if (yych == 'y') goto yy354;
        goto yy14;
 yy291:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy354;
+       if (yych == 'r') goto yy355;
        goto yy14;
 yy292:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy355;
+       if (yych == 'c') goto yy356;
        goto yy14;
 yy293:
        yych = (unsigned char)*++cur;
-       if (yych == 'h') goto yy356;
+       if (yych == 'b') goto yy357;
        goto yy14;
 yy294:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy357;
+       if (yych == 'a') goto yy358;
        goto yy14;
 yy295:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy359;
+       if (yych == 'h') goto yy359;
        goto yy14;
 yy296:
        yych = (unsigned char)*++cur;
-       if (yych == 'f') goto yy360;
+       if (yych == 'r') goto yy360;
        goto yy14;
 yy297:
        yych = (unsigned char)*++cur;
-       if (yych == 'C') goto yy361;
+       if (yych == 'o') goto yy362;
        goto yy14;
 yy298:
        yych = (unsigned char)*++cur;
-       if (yych == 'N') goto yy362;
-       if (yych == 'P') goto yy363;
+       if (yych == 'f') goto yy363;
        goto yy14;
 yy299:
        yych = (unsigned char)*++cur;
-       if (yych <= 'W') goto yy14;
-       if (yych <= 'X') goto yy364;
-       if (yych <= 'Y') goto yy365;
+       if (yych == 'C') goto yy364;
        goto yy14;
 yy300:
        yych = (unsigned char)*++cur;
-       if (yych == 'R') goto yy366;
+       if (yych == 'N') goto yy365;
+       if (yych == 'P') goto yy366;
        goto yy14;
 yy301:
        yych = (unsigned char)*++cur;
-       if (yych == 'B') goto yy367;
+       if (yych <= 'W') goto yy14;
+       if (yych <= 'X') goto yy367;
+       if (yych <= 'Y') goto yy368;
        goto yy14;
 yy302:
        yych = (unsigned char)*++cur;
-       if (yych == 'L') goto yy368;
+       if (yych == 'R') goto yy369;
        goto yy14;
 yy303:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy369;
+       if (yych == 'B') goto yy370;
        goto yy14;
 yy304:
        yych = (unsigned char)*++cur;
-       if (yych == 'S') goto yy370;
+       if (yych == 'L') goto yy371;
        goto yy14;
 yy305:
        yych = (unsigned char)*++cur;
-       if (yych == 'M') goto yy371;
+       if (yych == 'T') goto yy372;
        goto yy14;
 yy306:
        yych = (unsigned char)*++cur;
-       if (yych == 'R') goto yy372;
+       if (yych == 'S') goto yy373;
        goto yy14;
 yy307:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy373;
+       if (yych == 'M') goto yy374;
        goto yy14;
 yy308:
        yych = (unsigned char)*++cur;
-       if (yych == 'S') goto yy374;
+       if (yych == 'R') goto yy375;
        goto yy14;
 yy309:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy375;
+       if (yych == 'E') goto yy376;
        goto yy14;
 yy310:
        yych = (unsigned char)*++cur;
-       if (yych == 'I') goto yy376;
+       if (yych == 'S') goto yy377;
        goto yy14;
 yy311:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy377;
+       if (yych == 'T') goto yy378;
        goto yy14;
 yy312:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy378;
+       if (yych == 'I') goto yy379;
        goto yy14;
 yy313:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy379;
+       if (yych == 'e') goto yy380;
        goto yy14;
 yy314:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy380;
+       if (yych == 'i') goto yy381;
        goto yy14;
 yy315:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy381;
-       if (yych == 'i') goto yy382;
+       if (yych == 't') goto yy382;
        goto yy14;
 yy316:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy383;
+       if (yych == '-') goto yy383;
        goto yy14;
 yy317:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy384;
+       if (yych == 'i') goto yy384;
        goto yy14;
 yy318:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy385;
+       if (yych == 'd') goto yy385;
        goto yy14;
 yy319:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy386;
+       if (yych == '-') goto yy386;
        goto yy14;
 yy320:
-       ++cur;
-#line 72 "../src/parse/lex_conf.re"
-       { lex_conf_input();            return; }
-#line 1532 "src/parse/lex_conf.cc"
-yy322:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy387;
+       if (yych == 'i') goto yy387;
        goto yy14;
-yy323:
+yy321:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy388;
+       if (yych == 's') goto yy388;
        goto yy14;
+yy322:
+       ++cur;
+#line 73 "../src/parse/lex_conf.re"
+       { lex_conf_input();            return; }
+#line 1540 "src/parse/lex_conf.cc"
 yy324:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy389;
+       if (yych == 'd') goto yy389;
        goto yy14;
 yy325:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy390;
+       if (yych == 'b') goto yy390;
        goto yy14;
 yy326:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy391;
+       if (yych == 'n') goto yy391;
        goto yy14;
 yy327:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy392;
+       if (yych == 'r') goto yy392;
        goto yy14;
 yy328:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy393;
+       if (yych == 'i') goto yy393;
        goto yy14;
 yy329:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy394;
+       if (yych == 't') goto yy394;
        goto yy14;
 yy330:
        yych = (unsigned char)*++cur;
@@ -1567,227 +1567,227 @@ yy330:
        goto yy14;
 yy331:
        yych = (unsigned char)*++cur;
-       if (yych == 'h') goto yy396;
+       if (yych == 't') goto yy396;
        goto yy14;
 yy332:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy397;
+       if (yych == '-') goto yy397;
        goto yy14;
 yy333:
        yych = (unsigned char)*++cur;
-       if (yych == '6') goto yy127;
+       if (yych == 'b') goto yy398;
        goto yy14;
 yy334:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy398;
+       if (yych == 'h') goto yy399;
        goto yy14;
 yy335:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy399;
+       if (yych == 'd') goto yy400;
        goto yy14;
 yy336:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy400;
+       if (yych == '6') goto yy127;
        goto yy14;
 yy337:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy401;
+       if (yych == 'c') goto yy401;
        goto yy14;
 yy338:
+       yych = (unsigned char)*++cur;
+       if (yych == 'n') goto yy402;
+       goto yy14;
+yy339:
+       yych = (unsigned char)*++cur;
+       if (yych == 'l') goto yy403;
+       goto yy14;
+yy340:
+       yych = (unsigned char)*++cur;
+       if (yych == 't') goto yy404;
+       goto yy14;
+yy341:
        ++cur;
 #line 162 "../src/parse/lex_conf.re"
        { opts.set_labelPrefix (lex_conf_string ()); return; }
-#line 1601 "src/parse/lex_conf.cc"
-yy340:
+#line 1613 "src/parse/lex_conf.cc"
+yy343:
        ++cur;
        if (lim <= cur) fill(1);
        yych = (unsigned char)*cur;
        if (yybm[0+yych] & 64) {
-               goto yy340;
+               goto yy343;
        }
        if (yych != '=') goto yy14;
-yy342:
+yy345:
        ++cur;
        if ((lim - cur) < 2) fill(2);
        yych = (unsigned char)*cur;
        if (yych <= ',') {
                if (yych <= '\t') {
                        if (yych <= 0x08) goto yy14;
-                       goto yy342;
+                       goto yy345;
                } else {
-                       if (yych == ' ') goto yy342;
+                       if (yych == ' ') goto yy345;
                        goto yy14;
                }
        } else {
                if (yych <= '/') {
-                       if (yych <= '-') goto yy403;
+                       if (yych <= '-') goto yy406;
                        goto yy14;
                } else {
-                       if (yych <= '0') goto yy404;
-                       if (yych <= '9') goto yy406;
+                       if (yych <= '0') goto yy407;
+                       if (yych <= '9') goto yy409;
                        goto yy14;
                }
        }
-yy344:
+yy347:
        ++cur;
 #line 98 "../src/parse/lex_conf.re"
        { opts.set_bUseStateAbort  (lex_conf_bool()); return; }
-#line 1636 "src/parse/lex_conf.cc"
-yy346:
+#line 1648 "src/parse/lex_conf.cc"
+yy349:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy408;
+       if (yych == 'a') goto yy411;
        goto yy14;
-yy347:
+yy350:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy409;
+       if (yych == 't') goto yy412;
        goto yy14;
-yy348:
+yy351:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy411;
+       if (yych == 's') goto yy414;
        goto yy14;
-yy349:
+yy352:
        ++cur;
 #line 133 "../src/parse/lex_conf.re"
        { opts.set_tags_prefix    (lex_conf_string ()); return; }
-#line 1653 "src/parse/lex_conf.cc"
-yy351:
+#line 1665 "src/parse/lex_conf.cc"
+yy354:
        yych = (unsigned char)*++cur;
        if (yych <= 'c') {
                if (yych <= '`') goto yy14;
-               if (yych <= 'a') goto yy412;
-               if (yych <= 'b') goto yy413;
-               goto yy414;
+               if (yych <= 'a') goto yy415;
+               if (yych <= 'b') goto yy416;
+               goto yy417;
        } else {
                if (yych <= 'r') goto yy14;
-               if (yych <= 's') goto yy415;
-               if (yych <= 't') goto yy416;
+               if (yych <= 's') goto yy418;
+               if (yych <= 't') goto yy419;
                goto yy14;
        }
-yy352:
+yy355:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy417;
+       if (yych == 's') goto yy420;
        goto yy14;
-yy353:
+yy356:
        yych = (unsigned char)*++cur;
-       if (yych == 'k') goto yy418;
+       if (yych == 'k') goto yy421;
        goto yy14;
-yy354:
+yy357:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy420;
+       if (yych == 'l') goto yy423;
        goto yy14;
-yy355:
+yy358:
        yych = (unsigned char)*++cur;
-       if (yych == 'm') goto yy421;
+       if (yych == 'm') goto yy424;
        goto yy14;
-yy356:
+yy359:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy422;
+       if (yych == 'o') goto yy425;
        goto yy14;
-yy357:
+yy360:
        yyaccept = 15;
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == '@') goto yy423;
-yy358:
+       if (yych == '@') goto yy426;
+yy361:
 #line 85 "../src/parse/lex_conf.re"
        { opts.set_condDivider      (lex_conf_string ()); return; }
-#line 1694 "src/parse/lex_conf.cc"
-yy359:
-       yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy424;
-       goto yy14;
-yy360:
-       yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy425;
-       goto yy14;
-yy361:
-       yych = (unsigned char)*++cur;
-       if (yych == 'K') goto yy426;
-       goto yy14;
+#line 1706 "src/parse/lex_conf.cc"
 yy362:
        yych = (unsigned char)*++cur;
-       if (yych == 'D') goto yy427;
+       if (yych == 'n') goto yy427;
        goto yy14;
 yy363:
        yych = (unsigned char)*++cur;
-       if (yych == 'Y') goto yy428;
+       if (yych == 'i') goto yy428;
        goto yy14;
 yy364:
        yych = (unsigned char)*++cur;
-       if (yych == 'M') goto yy429;
+       if (yych == 'K') goto yy429;
        goto yy14;
 yy365:
        yych = (unsigned char)*++cur;
-       if (yych == 'P') goto yy430;
+       if (yych == 'D') goto yy430;
        goto yy14;
 yy366:
        yych = (unsigned char)*++cur;
-       if (yych == 'S') goto yy431;
+       if (yych == 'Y') goto yy431;
        goto yy14;
 yy367:
        yych = (unsigned char)*++cur;
-       if (yych == 'U') goto yy432;
+       if (yych == 'M') goto yy432;
        goto yy14;
 yy368:
        yych = (unsigned char)*++cur;
-       if (yych == 'L') goto yy433;
+       if (yych == 'P') goto yy433;
        goto yy14;
 yy369:
        yych = (unsigned char)*++cur;
-       if (yych == 'C') goto yy435;
-       if (yych == 'S') goto yy436;
+       if (yych == 'S') goto yy434;
        goto yy14;
 yy370:
        yych = (unsigned char)*++cur;
-       if (yych == 'S') goto yy437;
+       if (yych == 'U') goto yy435;
        goto yy14;
 yy371:
        yych = (unsigned char)*++cur;
-       if (yych == 'I') goto yy438;
+       if (yych == 'L') goto yy436;
        goto yy14;
 yy372:
        yych = (unsigned char)*++cur;
-       if (yych == 'K') goto yy439;
+       if (yych == 'C') goto yy438;
+       if (yych == 'S') goto yy439;
        goto yy14;
 yy373:
        yych = (unsigned char)*++cur;
-       if (yych == 'K') goto yy440;
+       if (yych == 'S') goto yy440;
        goto yy14;
 yy374:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy442;
+       if (yych == 'I') goto yy441;
        goto yy14;
 yy375:
        yych = (unsigned char)*++cur;
-       if (yych == 'C') goto yy443;
-       if (yych == 'S') goto yy444;
+       if (yych == 'K') goto yy442;
        goto yy14;
 yy376:
        yych = (unsigned char)*++cur;
-       if (yych == 'P') goto yy445;
+       if (yych == 'K') goto yy443;
        goto yy14;
 yy377:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy447;
+       if (yych == 'T') goto yy445;
        goto yy14;
 yy378:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy448;
+       if (yych == 'C') goto yy446;
+       if (yych == 'S') goto yy447;
        goto yy14;
 yy379:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy449;
+       if (yych == 'P') goto yy448;
        goto yy14;
 yy380:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy450;
+       if (yych == 'c') goto yy450;
        goto yy14;
 yy381:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy451;
+       if (yych == 'n') goto yy451;
        goto yy14;
 yy382:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy452;
+       if (yych == 'e') goto yy452;
        goto yy14;
 yy383:
        yych = (unsigned char)*++cur;
@@ -1795,583 +1795,595 @@ yy383:
        goto yy14;
 yy384:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy454;
+       if (yych == 'n') goto yy454;
        goto yy14;
 yy385:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy455;
+       if (yych == 'o') goto yy455;
        goto yy14;
 yy386:
        yych = (unsigned char)*++cur;
-       if (yych == 'y') goto yy456;
+       if (yych == 'c') goto yy456;
        goto yy14;
 yy387:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy457;
+       if (yych == 'n') goto yy457;
        goto yy14;
 yy388:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy458;
+       if (yych == 'y') goto yy458;
        goto yy14;
 yy389:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy459;
+       if (yych == '-') goto yy459;
        goto yy14;
 yy390:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy460;
+       if (yych == 'u') goto yy460;
        goto yy14;
 yy391:
        yych = (unsigned char)*++cur;
-       goto yy116;
+       if (yych == 'e') goto yy461;
+       goto yy14;
 yy392:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy461;
+       if (yych == 's') goto yy462;
        goto yy14;
 yy393:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy462;
+       if (yych == 'j') goto yy463;
        goto yy14;
 yy394:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy463;
-       goto yy14;
+       goto yy116;
 yy395:
        yych = (unsigned char)*++cur;
        if (yych == 'l') goto yy464;
        goto yy14;
 yy396:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy465;
+       if (yych == 'o') goto yy465;
        goto yy14;
 yy397:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy466;
+       if (yych == 'c') goto yy466;
        goto yy14;
 yy398:
        yych = (unsigned char)*++cur;
-       if (yych == 'h') goto yy467;
+       if (yych == 'l') goto yy467;
        goto yy14;
 yy399:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy468;
+       if (yych == 'e') goto yy468;
        goto yy14;
 yy400:
        yych = (unsigned char)*++cur;
-       if (yych == 'L') goto yy470;
+       if (yych == 'e') goto yy469;
        goto yy14;
 yy401:
+       yych = (unsigned char)*++cur;
+       if (yych == 'h') goto yy470;
+       goto yy14;
+yy402:
+       yych = (unsigned char)*++cur;
+       if (yych == 'g') goto yy471;
+       goto yy14;
+yy403:
+       yych = (unsigned char)*++cur;
+       if (yych == 'L') goto yy473;
+       goto yy14;
+yy404:
        ++cur;
 #line 97 "../src/parse/lex_conf.re"
        { opts.set_yynext          (lex_conf_string ()); return; }
-#line 1868 "src/parse/lex_conf.cc"
-yy403:
+#line 1880 "src/parse/lex_conf.cc"
+yy406:
        yych = (unsigned char)*++cur;
        if (yych <= '0') goto yy14;
-       if (yych <= '9') goto yy406;
+       if (yych <= '9') goto yy409;
        goto yy14;
-yy404:
+yy407:
        ++cur;
-yy405:
+yy408:
        cur = ctx;
 #line 165 "../src/parse/lex_conf.re"
        { out.block().force_start_label = lex_conf_bool(); return; }
-#line 1880 "src/parse/lex_conf.cc"
-yy406:
+#line 1892 "src/parse/lex_conf.cc"
+yy409:
        ++cur;
        if (lim <= cur) fill(1);
        yych = (unsigned char)*cur;
        if (yybm[0+yych] & 128) {
-               goto yy406;
+               goto yy409;
        }
-       goto yy405;
-yy408:
+       goto yy408;
+yy411:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy471;
+       if (yych == 'b') goto yy474;
        goto yy14;
-yy409:
+yy412:
        ++cur;
 #line 132 "../src/parse/lex_conf.re"
        { opts.set_tags_default   (lex_conf_string ()); return; }
-#line 1897 "src/parse/lex_conf.cc"
-yy411:
-       yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy472;
-       goto yy14;
-yy412:
-       yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy473;
-       goto yy14;
-yy413:
-       yych = (unsigned char)*++cur;
-       if (yych == 'm') goto yy474;
-       goto yy14;
+#line 1909 "src/parse/lex_conf.cc"
 yy414:
        yych = (unsigned char)*++cur;
-       if (yych == 'h') goto yy476;
-       if (yych == 't') goto yy478;
+       if (yych == 'i') goto yy475;
        goto yy14;
 yy415:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy479;
+       if (yych == 'c') goto yy476;
        goto yy14;
 yy416:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy480;
+       if (yych == 'm') goto yy477;
        goto yy14;
 yy417:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy481;
+       if (yych == 'h') goto yy479;
+       if (yych == 't') goto yy481;
        goto yy14;
 yy418:
-       ++cur;
-#line 160 "../src/parse/lex_conf.re"
-       { opts.set_fill_check   (lex_conf_bool()); return; }
-#line 1931 "src/parse/lex_conf.cc"
-yy420:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy482;
+       if (yych == 't') goto yy482;
        goto yy14;
-yy421:
+yy419:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy484;
+       if (yych == 'a') goto yy483;
        goto yy14;
-yy422:
+yy420:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy485;
+       if (yych == 'i') goto yy484;
        goto yy14;
+yy421:
+       ++cur;
+#line 160 "../src/parse/lex_conf.re"
+       { opts.set_fill_check   (lex_conf_bool()); return; }
+#line 1943 "src/parse/lex_conf.cc"
 yy423:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy486;
+       if (yych == 'e') goto yy485;
        goto yy14;
 yy424:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy487;
+       if (yych == 'e') goto yy487;
        goto yy14;
 yy425:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy489;
+       if (yych == 'l') goto yy488;
        goto yy14;
 yy426:
        yych = (unsigned char)*++cur;
-       if (yych == 'U') goto yy491;
+       if (yych == 'c') goto yy489;
        goto yy14;
 yy427:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy492;
+       if (yych == 'd') goto yy490;
        goto yy14;
 yy428:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy493;
+       if (yych == 'x') goto yy492;
        goto yy14;
 yy429:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy494;
+       if (yych == 'U') goto yy494;
        goto yy14;
 yy430:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy495;
+       if (yych == 'T') goto yy495;
        goto yy14;
 yy431:
        yych = (unsigned char)*++cur;
-       if (yych == 'O') goto yy497;
+       if (yych == 'T') goto yy496;
        goto yy14;
 yy432:
        yych = (unsigned char)*++cur;
-       if (yych == 'G') goto yy498;
+       if (yych == 'A') goto yy497;
        goto yy14;
 yy433:
-       yyaccept = 16;
-       yych = (unsigned char)*(ptr = ++cur);
-       if (yych == ':') goto yy500;
-       if (yych == '@') goto yy501;
-yy434:
-#line 155 "../src/parse/lex_conf.re"
-       { opts.set_fill         (lex_conf_string ()); return; }
-#line 1992 "src/parse/lex_conf.cc"
-yy435:
        yych = (unsigned char)*++cur;
-       if (yych == 'O') goto yy502;
+       if (yych == 'E') goto yy498;
        goto yy14;
-yy436:
+yy434:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy503;
+       if (yych == 'O') goto yy500;
        goto yy14;
-yy437:
+yy435:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy504;
+       if (yych == 'G') goto yy501;
        goto yy14;
+yy436:
+       yyaccept = 16;
+       yych = (unsigned char)*(ptr = ++cur);
+       if (yych == ':') goto yy503;
+       if (yych == '@') goto yy504;
+yy437:
+#line 155 "../src/parse/lex_conf.re"
+       { opts.set_fill         (lex_conf_string ()); return; }
+#line 2004 "src/parse/lex_conf.cc"
 yy438:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy505;
+       if (yych == 'O') goto yy505;
        goto yy14;
 yy439:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy507;
+       if (yych == 'T') goto yy506;
        goto yy14;
 yy440:
-       ++cur;
-#line 121 "../src/parse/lex_conf.re"
-       { opts.set_yypeek       (lex_conf_string ()); return; }
-#line 2017 "src/parse/lex_conf.cc"
-yy442:
        yych = (unsigned char)*++cur;
-       if (yych == 'O') goto yy508;
+       if (yych == 'T') goto yy507;
        goto yy14;
-yy443:
+yy441:
        yych = (unsigned char)*++cur;
-       if (yych == 'O') goto yy509;
+       if (yych == 'T') goto yy508;
        goto yy14;
-yy444:
+yy442:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy510;
+       if (yych == 'E') goto yy510;
        goto yy14;
-yy445:
+yy443:
        ++cur;
-#line 122 "../src/parse/lex_conf.re"
-       { opts.set_yyskip       (lex_conf_string ()); return; }
-#line 2034 "src/parse/lex_conf.cc"
-yy447:
+#line 121 "../src/parse/lex_conf.re"
+       { opts.set_yypeek       (lex_conf_string ()); return; }
+#line 2029 "src/parse/lex_conf.cc"
+yy445:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy511;
+       if (yych == 'O') goto yy511;
        goto yy14;
-yy448:
+yy446:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy512;
-       if (yych == 'v') goto yy513;
+       if (yych == 'O') goto yy512;
        goto yy14;
-yy449:
+yy447:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy514;
+       if (yych == 'T') goto yy513;
        goto yy14;
+yy448:
+       ++cur;
+#line 122 "../src/parse/lex_conf.re"
+       { opts.set_yyskip       (lex_conf_string ()); return; }
+#line 2046 "src/parse/lex_conf.cc"
 yy450:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy515;
+       if (yych == 't') goto yy514;
        goto yy14;
 yy451:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy516;
+       if (yych == 's') goto yy515;
+       if (yych == 'v') goto yy516;
        goto yy14;
 yy452:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy517;
+       if (yych == 'd') goto yy517;
        goto yy14;
 yy453:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy92;
+       if (yych == 'u') goto yy518;
        goto yy14;
 yy454:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy518;
+       if (yych == 'i') goto yy519;
        goto yy14;
 yy455:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy519;
+       if (yych == 't') goto yy92;
        goto yy14;
 yy456:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy520;
+       if (yych == 'l') goto yy520;
        goto yy14;
 yy457:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy521;
+       if (yych == 'g') goto yy521;
        goto yy14;
 yy458:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy522;
+       if (yych == 'n') goto yy522;
        goto yy14;
 yy459:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy523;
+       if (yych == 'i') goto yy523;
        goto yy14;
 yy460:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy524;
+       if (yych == 'g') goto yy524;
        goto yy14;
 yy461:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy525;
+       if (yych == 'r') goto yy525;
        goto yy14;
 yy462:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy96;
+       if (yych == 'i') goto yy526;
        goto yy14;
 yy463:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy526;
+       if (yych == 'e') goto yy527;
        goto yy14;
 yy464:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy527;
+       if (yych == 'e') goto yy528;
        goto yy14;
 yy465:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy528;
+       if (yych == 'n') goto yy96;
        goto yy14;
 yy466:
        yych = (unsigned char)*++cur;
-       goto yy124;
+       if (yych == 'o') goto yy529;
+       goto yy14;
 yy467:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy529;
+       if (yych == 'e') goto yy530;
        goto yy14;
 yy468:
+       yych = (unsigned char)*++cur;
+       if (yych == 'a') goto yy531;
+       goto yy14;
+yy469:
+       yych = (unsigned char)*++cur;
+       goto yy124;
+yy470:
+       yych = (unsigned char)*++cur;
+       if (yych == 'a') goto yy532;
+       goto yy14;
+yy471:
        ++cur;
 #line 136 "../src/parse/lex_conf.re"
        { opts.set_indString (lex_conf_string ()); return; }
-#line 2123 "src/parse/lex_conf.cc"
-yy470:
+#line 2135 "src/parse/lex_conf.cc"
+yy473:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy530;
+       if (yych == 'a') goto yy533;
        goto yy14;
-yy471:
+yy474:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy531;
+       if (yych == 'e') goto yy534;
        goto yy14;
-yy472:
+yy475:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy532;
+       if (yych == 'o') goto yy535;
        goto yy14;
-yy473:
+yy476:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy533;
+       if (yych == 'c') goto yy536;
        goto yy14;
-yy474:
+yy477:
        ++cur;
 #line 102 "../src/parse/lex_conf.re"
        { opts.set_yybm         (lex_conf_string ()); return; }
-#line 2144 "src/parse/lex_conf.cc"
-yy476:
+#line 2156 "src/parse/lex_conf.cc"
+yy479:
        ++cur;
 #line 151 "../src/parse/lex_conf.re"
        { opts.set_yych           (lex_conf_string ()); return; }
-#line 2149 "src/parse/lex_conf.cc"
-yy478:
+#line 2161 "src/parse/lex_conf.cc"
+yy481:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy534;
+       if (yych == 'a') goto yy537;
        goto yy14;
-yy479:
+yy482:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy535;
+       if (yych == 'a') goto yy538;
        goto yy14;
-yy480:
+yy483:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy536;
+       if (yych == 'r') goto yy539;
        goto yy14;
-yy481:
+yy484:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy537;
+       if (yych == 'o') goto yy540;
        goto yy14;
-yy482:
+yy485:
        ++cur;
 #line 156 "../src/parse/lex_conf.re"
        { opts.set_fill_use     (lex_conf_bool()); return; }
-#line 2170 "src/parse/lex_conf.cc"
-yy484:
+#line 2182 "src/parse/lex_conf.cc"
+yy487:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy538;
+       if (yych == 't') goto yy541;
        goto yy14;
-yy485:
+yy488:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy539;
+       if (yych == 'd') goto yy542;
        goto yy14;
-yy486:
+yy489:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy541;
+       if (yych == 'o') goto yy544;
        goto yy14;
-yy487:
+yy490:
        ++cur;
 #line 88 "../src/parse/lex_conf.re"
        { opts.set_condGotoParam    (lex_conf_string ()); return; }
-#line 2187 "src/parse/lex_conf.cc"
-yy489:
+#line 2199 "src/parse/lex_conf.cc"
+yy492:
        ++cur;
 #line 84 "../src/parse/lex_conf.re"
        { opts.set_condEnumPrefix   (lex_conf_string ()); return; }
-#line 2192 "src/parse/lex_conf.cc"
-yy491:
+#line 2204 "src/parse/lex_conf.cc"
+yy494:
        yych = (unsigned char)*++cur;
-       if (yych == 'P') goto yy542;
+       if (yych == 'P') goto yy545;
        goto yy14;
-yy492:
+yy495:
        yych = (unsigned char)*++cur;
-       if (yych == 'Y') goto yy544;
+       if (yych == 'Y') goto yy547;
        goto yy14;
-yy493:
+yy496:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy545;
+       if (yych == 'A') goto yy548;
        goto yy14;
-yy494:
+yy497:
        yych = (unsigned char)*++cur;
-       if (yych == 'R') goto yy546;
+       if (yych == 'R') goto yy549;
        goto yy14;
-yy495:
+yy498:
        ++cur;
 #line 150 "../src/parse/lex_conf.re"
        { opts.set_yyctype        (lex_conf_string ()); return; }
-#line 2213 "src/parse/lex_conf.cc"
-yy497:
+#line 2225 "src/parse/lex_conf.cc"
+yy500:
        yych = (unsigned char)*++cur;
-       if (yych == 'R') goto yy547;
+       if (yych == 'R') goto yy550;
        goto yy14;
-yy498:
+yy501:
        ++cur;
 #line 148 "../src/parse/lex_conf.re"
        { opts.set_yydebug (lex_conf_string ()); return; }
-#line 2222 "src/parse/lex_conf.cc"
-yy500:
+#line 2234 "src/parse/lex_conf.cc"
+yy503:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy549;
+       if (yych == 'n') goto yy552;
        goto yy14;
-yy501:
+yy504:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy550;
+       if (yych == 'l') goto yy553;
        goto yy14;
-yy502:
+yy505:
        yych = (unsigned char)*++cur;
-       if (yych == 'N') goto yy551;
+       if (yych == 'N') goto yy554;
        goto yy14;
-yy503:
+yy506:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy552;
+       if (yych == 'A') goto yy555;
        goto yy14;
-yy504:
+yy507:
        yych = (unsigned char)*++cur;
-       if (yych == 'H') goto yy553;
+       if (yych == 'H') goto yy556;
        goto yy14;
-yy505:
+yy508:
        ++cur;
 #line 119 "../src/parse/lex_conf.re"
        { opts.set_yylimit     (lex_conf_string ()); return; }
-#line 2247 "src/parse/lex_conf.cc"
-yy507:
+#line 2259 "src/parse/lex_conf.cc"
+yy510:
        yych = (unsigned char)*++cur;
-       if (yych == 'R') goto yy554;
+       if (yych == 'R') goto yy557;
        goto yy14;
-yy508:
+yy511:
        yych = (unsigned char)*++cur;
-       if (yych == 'R') goto yy556;
-       goto yy14;
-yy509:
-       yych = (unsigned char)*++cur;
-       if (yych == 'N') goto yy557;
-       goto yy14;
-yy510:
-       yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy558;
-       goto yy14;
-yy511:
-       yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy559;
+       if (yych == 'R') goto yy559;
        goto yy14;
 yy512:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy560;
+       if (yych == 'N') goto yy560;
        goto yy14;
 yy513:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy561;
+       if (yych == 'A') goto yy561;
        goto yy14;
 yy514:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy562;
+       if (yych == 'o') goto yy562;
        goto yy14;
 yy515:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy563;
+       if (yych == 'e') goto yy563;
        goto yy14;
 yy516:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy564;
+       if (yych == 'e') goto yy564;
        goto yy14;
 yy517:
        yych = (unsigned char)*++cur;
-       if (yych == 'm') goto yy565;
+       if (yych == '-') goto yy565;
        goto yy14;
 yy518:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy566;
+       if (yych == 't') goto yy566;
        goto yy14;
 yy519:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy567;
+       if (yych == 'm') goto yy567;
        goto yy14;
 yy520:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy568;
+       if (yych == 'a') goto yy568;
        goto yy14;
 yy521:
        yych = (unsigned char)*++cur;
-       if (yych == 'f') goto yy569;
+       if (yych == '-') goto yy569;
        goto yy14;
 yy522:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy570;
+       if (yych == 't') goto yy570;
        goto yy14;
 yy523:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy571;
+       if (yych == 'f') goto yy571;
        goto yy14;
 yy524:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy572;
+       if (yych == '-') goto yy572;
        goto yy14;
 yy525:
        yych = (unsigned char)*++cur;
-       goto yy118;
+       if (yych == 'a') goto yy573;
+       goto yy14;
 yy526:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy573;
+       if (yych == 'o') goto yy574;
        goto yy14;
 yy527:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy574;
+       if (yych == 'c') goto yy575;
        goto yy14;
 yy528:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy575;
-       goto yy14;
+       goto yy118;
 yy529:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy576;
+       if (yych == 'n') goto yy576;
        goto yy14;
 yy530:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy577;
+       if (yych == '-') goto yy577;
        goto yy14;
 yy531:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy578;
+       if (yych == 'd') goto yy578;
        goto yy14;
 yy532:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy580;
+       if (yych == 'r') goto yy579;
        goto yy14;
 yy533:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy582;
+       if (yych == 'b') goto yy580;
        goto yy14;
 yy534:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy583;
+       if (yych == 'l') goto yy581;
        goto yy14;
 yy535:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy584;
+       if (yych == 'n') goto yy583;
        goto yy14;
 yy536:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy585;
+       if (yych == 'e') goto yy585;
        goto yy14;
 yy537:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy586;
+       if (yych == 'b') goto yy586;
        goto yy14;
 yy538:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy588;
+       if (yych == 'b') goto yy587;
        goto yy14;
 yy539:
+       yych = (unsigned char)*++cur;
+       if (yych == 'g') goto yy588;
+       goto yy14;
+yy540:
+       yych = (unsigned char)*++cur;
+       if (yych == 'n') goto yy589;
+       goto yy14;
+yy541:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy591;
+       goto yy14;
+yy542:
        ++cur;
 #line 105 "../src/parse/lex_conf.re"
        {
@@ -2383,867 +2395,907 @@ yy539:
                opts.set_cGotoThreshold (static_cast<uint32_t> (n));
                return;
        }
-#line 2387 "src/parse/lex_conf.cc"
-yy541:
+#line 2399 "src/parse/lex_conf.cc"
+yy544:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy589;
+       if (yych == 'n') goto yy592;
        goto yy14;
-yy542:
+yy545:
        yyaccept = 17;
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'C') goto yy590;
-       if (yych == 'T') goto yy591;
-yy543:
+       if (yych == 'C') goto yy593;
+       if (yych == 'T') goto yy594;
+yy546:
 #line 123 "../src/parse/lex_conf.re"
        { opts.set_yybackup     (lex_conf_string ()); return; }
-#line 2400 "src/parse/lex_conf.cc"
-yy544:
+#line 2412 "src/parse/lex_conf.cc"
+yy547:
        yych = (unsigned char)*++cur;
-       if (yych == 'P') goto yy592;
+       if (yych == 'P') goto yy595;
        goto yy14;
-yy545:
+yy548:
        yych = (unsigned char)*++cur;
-       if (yych == 'G') goto yy593;
+       if (yych == 'G') goto yy596;
        goto yy14;
-yy546:
+yy549:
        yych = (unsigned char)*++cur;
-       if (yych == 'K') goto yy595;
+       if (yych == 'K') goto yy598;
        goto yy14;
-yy547:
+yy550:
        ++cur;
 #line 116 "../src/parse/lex_conf.re"
        { opts.set_yycursor    (lex_conf_string ()); return; }
-#line 2417 "src/parse/lex_conf.cc"
-yy549:
-       yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy596;
-       goto yy14;
-yy550:
-       yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy597;
-       goto yy14;
-yy551:
-       yych = (unsigned char)*++cur;
-       if (yych == 'D') goto yy598;
-       goto yy14;
+#line 2429 "src/parse/lex_conf.cc"
 yy552:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy599;
+       if (yych == 'a') goto yy599;
        goto yy14;
 yy553:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy600;
+       if (yych == 'e') goto yy600;
        goto yy14;
 yy554:
-       ++cur;
-#line 117 "../src/parse/lex_conf.re"
-       { opts.set_yymarker    (lex_conf_string ()); return; }
-#line 2442 "src/parse/lex_conf.cc"
-yy556:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy601;
+       if (yych == 'D') goto yy601;
        goto yy14;
-yy557:
+yy555:
        yych = (unsigned char)*++cur;
-       if (yych == 'D') goto yy603;
+       if (yych == 'T') goto yy602;
        goto yy14;
-yy558:
+yy556:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy604;
+       if (yych == 'A') goto yy603;
        goto yy14;
+yy557:
+       ++cur;
+#line 117 "../src/parse/lex_conf.re"
+       { opts.set_yymarker    (lex_conf_string ()); return; }
+#line 2454 "src/parse/lex_conf.cc"
 yy559:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy605;
+       if (yych == 'E') goto yy604;
        goto yy14;
 yy560:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy606;
+       if (yych == 'D') goto yy606;
        goto yy14;
 yy561:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy607;
+       if (yych == 'T') goto yy607;
        goto yy14;
 yy562:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy608;
+       if (yych == 'r') goto yy608;
        goto yy14;
 yy563:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy609;
+       if (yych == 'n') goto yy609;
        goto yy14;
 yy564:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy610;
+       if (yych == 'r') goto yy610;
        goto yy14;
 yy565:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy611;
+       if (yych == 'g') goto yy611;
        goto yy14;
 yy566:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy612;
+       if (yych == 'p') goto yy612;
        goto yy14;
 yy567:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy613;
+       if (yych == 'i') goto yy613;
        goto yy14;
 yy568:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy614;
+       if (yych == 's') goto yy614;
        goto yy14;
 yy569:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy615;
+       if (yych == 'p') goto yy615;
        goto yy14;
 yy570:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy616;
+       if (yych == 'a') goto yy616;
        goto yy14;
 yy571:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy617;
+       if (yych == 's') goto yy617;
        goto yy14;
 yy572:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy618;
+       if (yych == 'i') goto yy618;
        goto yy14;
 yy573:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy620;
+       if (yych == 't') goto yy619;
        goto yy14;
 yy574:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy621;
+       if (yych == 'n') goto yy620;
        goto yy14;
 yy575:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy622;
+       if (yych == 't') goto yy622;
        goto yy14;
 yy576:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy623;
+       if (yych == 'd') goto yy623;
        goto yy14;
 yy577:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy624;
+       if (yych == 's') goto yy624;
        goto yy14;
 yy578:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy625;
+       goto yy14;
+yy579:
+       yych = (unsigned char)*++cur;
+       if (yych == 's') goto yy626;
+       goto yy14;
+yy580:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy627;
+       goto yy14;
+yy581:
        ++cur;
 #line 99 "../src/parse/lex_conf.re"
        { opts.set_bUseStateNext   (lex_conf_bool()); return; }
-#line 2535 "src/parse/lex_conf.cc"
-yy580:
+#line 2547 "src/parse/lex_conf.cc"
+yy583:
        ++cur;
 #line 134 "../src/parse/lex_conf.re"
        { opts.set_tags_expression(lex_conf_string ()); return; }
-#line 2540 "src/parse/lex_conf.cc"
-yy582:
+#line 2552 "src/parse/lex_conf.cc"
+yy585:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy625;
+       if (yych == 'p') goto yy628;
        goto yy14;
-yy583:
+yy586:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy626;
+       if (yych == 'l') goto yy629;
        goto yy14;
-yy584:
+yy587:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy627;
+       if (yych == 'l') goto yy630;
        goto yy14;
-yy585:
+yy588:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy628;
+       if (yych == 'e') goto yy631;
        goto yy14;
-yy586:
+yy589:
        ++cur;
 #line 152 "../src/parse/lex_conf.re"
        { opts.set_yychConversion (lex_conf_bool()); return; }
-#line 2561 "src/parse/lex_conf.cc"
-yy588:
-       yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy629;
-       goto yy14;
-yy589:
-       yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy631;
-       goto yy14;
-yy590:
-       yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy633;
-       goto yy14;
+#line 2573 "src/parse/lex_conf.cc"
 yy591:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy634;
+       if (yych == 'r') goto yy632;
        goto yy14;
 yy592:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy635;
+       if (yych == 'd') goto yy634;
        goto yy14;
 yy593:
-       ++cur;
-#line 129 "../src/parse/lex_conf.re"
-       { opts.set_yycopytag    (lex_conf_string ()); return; }
-#line 2586 "src/parse/lex_conf.cc"
-yy595:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy637;
+       if (yych == 'T') goto yy636;
        goto yy14;
-yy596:
+yy594:
        yych = (unsigned char)*++cur;
-       if (yych == 'k') goto yy638;
+       if (yych == 'A') goto yy637;
        goto yy14;
-yy597:
+yy595:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy639;
+       if (yych == 'E') goto yy638;
        goto yy14;
+yy596:
+       ++cur;
+#line 129 "../src/parse/lex_conf.re"
+       { opts.set_yycopytag    (lex_conf_string ()); return; }
+#line 2598 "src/parse/lex_conf.cc"
 yy598:
        yych = (unsigned char)*++cur;
-       if (yych == 'I') goto yy641;
+       if (yych == 'E') goto yy640;
        goto yy14;
 yy599:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy642;
+       if (yych == 'k') goto yy641;
        goto yy14;
 yy600:
        yych = (unsigned char)*++cur;
-       if (yych == 'N') goto yy644;
+       if (yych == 'n') goto yy642;
        goto yy14;
 yy601:
-       yyaccept = 18;
-       yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'C') goto yy646;
-       if (yych == 'T') goto yy647;
-yy602:
-#line 126 "../src/parse/lex_conf.re"
-       { opts.set_yyrestore    (lex_conf_string ()); return; }
-#line 2619 "src/parse/lex_conf.cc"
-yy603:
        yych = (unsigned char)*++cur;
-       if (yych == 'I') goto yy648;
+       if (yych == 'I') goto yy644;
        goto yy14;
-yy604:
+yy602:
        yych = (unsigned char)*++cur;
-       if (yych == 'E') goto yy649;
+       if (yych == 'E') goto yy645;
        goto yy14;
-yy605:
+yy603:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy651;
+       if (yych == 'N') goto yy647;
        goto yy14;
+yy604:
+       yyaccept = 18;
+       yych = (unsigned char)*(ptr = ++cur);
+       if (yych == 'C') goto yy649;
+       if (yych == 'T') goto yy650;
+yy605:
+#line 126 "../src/parse/lex_conf.re"
+       { opts.set_yyrestore    (lex_conf_string ()); return; }
+#line 2631 "src/parse/lex_conf.cc"
 yy606:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy652;
+       if (yych == 'I') goto yy651;
        goto yy14;
 yy607:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy653;
+       if (yych == 'E') goto yy652;
        goto yy14;
 yy608:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy654;
+       if (yych == 's') goto yy654;
        goto yy14;
 yy609:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy655;
+       if (yych == 's') goto yy655;
        goto yy14;
 yy610:
        yych = (unsigned char)*++cur;
-       if (yych == 'g') goto yy656;
+       if (yych == 't') goto yy656;
        goto yy14;
 yy611:
        yych = (unsigned char)*++cur;
-       if (yych == 'z') goto yy658;
+       if (yych == 'o') goto yy657;
        goto yy14;
 yy612:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy659;
+       if (yych == 'u') goto yy658;
        goto yy14;
 yy613:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy661;
+       if (yych == 'z') goto yy659;
        goto yy14;
 yy614:
        yych = (unsigned char)*++cur;
-       if (yych == 'x') goto yy94;
+       if (yych == 's') goto yy660;
        goto yy14;
 yy615:
        yych = (unsigned char)*++cur;
-       goto yy120;
+       if (yych == 'o') goto yy662;
+       goto yy14;
 yy616:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy662;
+       if (yych == 'x') goto yy94;
        goto yy14;
 yy617:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy663;
-       goto yy14;
+       goto yy120;
 yy618:
-       ++cur;
-#line 58 "../src/parse/lex_conf.re"
-       { opts.set_version(!lex_conf_bool());          return; }
-#line 2683 "src/parse/lex_conf.cc"
-yy620:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy664;
+       if (yych == 'n') goto yy663;
        goto yy14;
-yy621:
+yy619:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy665;
+       if (yych == 'i') goto yy664;
        goto yy14;
+yy620:
+       ++cur;
+#line 58 "../src/parse/lex_conf.re"
+       { opts.set_version(!lex_conf_bool());           return; }
+#line 2691 "src/parse/lex_conf.cc"
 yy622:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy666;
+       if (yych == 'i') goto yy665;
        goto yy14;
 yy623:
        yych = (unsigned char)*++cur;
-       goto yy126;
+       if (yych == 'i') goto yy666;
+       goto yy14;
 yy624:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy667;
+       if (yych == 't') goto yy667;
        goto yy14;
 yy625:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy669;
+       if (yych == 'r') goto yy668;
        goto yy14;
 yy626:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy671;
-       goto yy14;
+       goto yy126;
 yy627:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy673;
+       if (yych == 'l') goto yy669;
        goto yy14;
 yy628:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy675;
+       if (yych == 't') goto yy671;
        goto yy14;
 yy629:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy673;
+       goto yy14;
+yy630:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy675;
+       goto yy14;
+yy631:
+       yych = (unsigned char)*++cur;
+       if (yych == 't') goto yy677;
+       goto yy14;
+yy632:
        ++cur;
 #line 158 "../src/parse/lex_conf.re"
        { opts.set_fill_arg_use (lex_conf_bool()); return; }
-#line 2723 "src/parse/lex_conf.cc"
-yy631:
+#line 2735 "src/parse/lex_conf.cc"
+yy634:
        ++cur;
 #line 86 "../src/parse/lex_conf.re"
        { opts.set_condDividerParam (lex_conf_string ()); return; }
-#line 2728 "src/parse/lex_conf.cc"
-yy633:
+#line 2740 "src/parse/lex_conf.cc"
+yy636:
        yych = (unsigned char)*++cur;
-       if (yych == 'X') goto yy677;
+       if (yych == 'X') goto yy679;
        goto yy14;
-yy634:
+yy637:
        yych = (unsigned char)*++cur;
-       if (yych == 'G') goto yy679;
+       if (yych == 'G') goto yy681;
        goto yy14;
-yy635:
+yy638:
        ++cur;
 #line 77 "../src/parse/lex_conf.re"
        { opts.set_yycondtype       (lex_conf_string ()); return; }
-#line 2741 "src/parse/lex_conf.cc"
-yy637:
+#line 2753 "src/parse/lex_conf.cc"
+yy640:
        yych = (unsigned char)*++cur;
-       if (yych == 'R') goto yy681;
+       if (yych == 'R') goto yy683;
        goto yy14;
-yy638:
+yy641:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy683;
+       if (yych == 'e') goto yy685;
        goto yy14;
-yy639:
+yy642:
        ++cur;
 #line 157 "../src/parse/lex_conf.re"
        { opts.set_fill_arg     (lex_conf_string ()); return; }
-#line 2754 "src/parse/lex_conf.cc"
-yy641:
+#line 2766 "src/parse/lex_conf.cc"
+yy644:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy684;
+       if (yych == 'T') goto yy686;
        goto yy14;
-yy642:
+yy645:
        yyaccept = 19;
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == ':') goto yy685;
-yy643:
+       if (yych == ':') goto yy687;
+yy646:
 #line 91 "../src/parse/lex_conf.re"
        { opts.set_state_get       (lex_conf_string ()); return; }
-#line 2766 "src/parse/lex_conf.cc"
-yy644:
+#line 2778 "src/parse/lex_conf.cc"
+yy647:
        ++cur;
 #line 130 "../src/parse/lex_conf.re"
        { opts.set_yylessthan   (lex_conf_string ()); return; }
-#line 2771 "src/parse/lex_conf.cc"
-yy646:
+#line 2783 "src/parse/lex_conf.cc"
+yy649:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy686;
+       if (yych == 'T') goto yy688;
        goto yy14;
-yy647:
+yy650:
        yych = (unsigned char)*++cur;
-       if (yych == 'A') goto yy687;
+       if (yych == 'A') goto yy689;
        goto yy14;
-yy648:
+yy651:
        yych = (unsigned char)*++cur;
-       if (yych == 'T') goto yy688;
+       if (yych == 'T') goto yy690;
        goto yy14;
-yy649:
+yy652:
        yyaccept = 20;
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == ':') goto yy689;
-       if (yych == '@') goto yy690;
-yy650:
+       if (yych == ':') goto yy691;
+       if (yych == '@') goto yy692;
+yy653:
 #line 93 "../src/parse/lex_conf.re"
        { opts.set_state_set       (lex_conf_string ()); return; }
-#line 2792 "src/parse/lex_conf.cc"
-yy651:
+#line 2804 "src/parse/lex_conf.cc"
+yy654:
        yych = (unsigned char)*++cur;
        goto yy101;
-yy652:
-       yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy691;
-       goto yy14;
-yy653:
+yy655:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy692;
+       if (yych == 'i') goto yy693;
        goto yy14;
-yy654:
+yy656:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy693;
+       if (yych == 'e') goto yy694;
        goto yy14;
-yy655:
+yy657:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy694;
+       if (yych == 't') goto yy695;
        goto yy14;
-yy656:
-       ++cur;
-#line 75 "../src/parse/lex_conf.re"
-       { lex_conf_dfa_mapping();      return; }
-#line 2816 "src/parse/lex_conf.cc"
 yy658:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy695;
+       if (yych == 't') goto yy696;
        goto yy14;
 yy659:
-       ++cur;
-#line 73 "../src/parse/lex_conf.re"
-       { lex_conf_empty_class();      return; }
-#line 2825 "src/parse/lex_conf.cc"
-yy661:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy696;
+       if (yych == 'a') goto yy697;
        goto yy14;
+yy660:
+       ++cur;
+#line 74 "../src/parse/lex_conf.re"
+       { lex_conf_empty_class();      return; }
+#line 2832 "src/parse/lex_conf.cc"
 yy662:
        yych = (unsigned char)*++cur;
-       if (yych == 'f') goto yy697;
+       if (yych == 'l') goto yy698;
        goto yy14;
 yy663:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy698;
+       if (yych == 'f') goto yy699;
        goto yy14;
 yy664:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy699;
+       if (yych == 'o') goto yy700;
        goto yy14;
 yy665:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy700;
+       if (yych == 'v') goto yy701;
        goto yy14;
 yy666:
        yych = (unsigned char)*++cur;
-       goto yy122;
+       if (yych == 't') goto yy702;
+       goto yy14;
 yy667:
+       yych = (unsigned char)*++cur;
+       if (yych == 'a') goto yy703;
+       goto yy14;
+yy668:
+       yych = (unsigned char)*++cur;
+       goto yy122;
+yy669:
        ++cur;
 #line 96 "../src/parse/lex_conf.re"
        { opts.set_yyfilllabel     (lex_conf_string ()); return; }
-#line 2853 "src/parse/lex_conf.cc"
-yy669:
+#line 2864 "src/parse/lex_conf.cc"
+yy671:
        ++cur;
 #line 100 "../src/parse/lex_conf.re"
        { opts.set_yyaccept        (lex_conf_string ()); return; }
-#line 2858 "src/parse/lex_conf.cc"
-yy671:
+#line 2869 "src/parse/lex_conf.cc"
+yy673:
        ++cur;
 #line 89 "../src/parse/lex_conf.re"
        { opts.set_yyctable         (lex_conf_string ()); return; }
-#line 2863 "src/parse/lex_conf.cc"
-yy673:
+#line 2874 "src/parse/lex_conf.cc"
+yy675:
        ++cur;
 #line 169 "../src/parse/lex_conf.re"
        { lex_conf_string (); return; }
-#line 2868 "src/parse/lex_conf.cc"
-yy675:
+#line 2879 "src/parse/lex_conf.cc"
+yy677:
        ++cur;
 #line 114 "../src/parse/lex_conf.re"
        { opts.set_yytarget (lex_conf_string ()); return; }
-#line 2873 "src/parse/lex_conf.cc"
-yy677:
+#line 2884 "src/parse/lex_conf.cc"
+yy679:
        ++cur;
 #line 124 "../src/parse/lex_conf.re"
        { opts.set_yybackupctx  (lex_conf_string ()); return; }
-#line 2878 "src/parse/lex_conf.cc"
-yy679:
+#line 2889 "src/parse/lex_conf.cc"
+yy681:
        ++cur;
 #line 125 "../src/parse/lex_conf.re"
        { opts.set_yybackuptag  (lex_conf_string ()); return; }
-#line 2883 "src/parse/lex_conf.cc"
-yy681:
+#line 2894 "src/parse/lex_conf.cc"
+yy683:
        ++cur;
 #line 118 "../src/parse/lex_conf.re"
        { opts.set_yyctxmarker (lex_conf_string ()); return; }
-#line 2888 "src/parse/lex_conf.cc"
-yy683:
-       yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy701;
-       goto yy14;
-yy684:
-       yych = (unsigned char)*++cur;
-       if (yych == 'I') goto yy703;
-       goto yy14;
+#line 2899 "src/parse/lex_conf.cc"
 yy685:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy704;
+       if (yych == 'd') goto yy704;
        goto yy14;
 yy686:
        yych = (unsigned char)*++cur;
-       if (yych == 'X') goto yy705;
+       if (yych == 'I') goto yy706;
        goto yy14;
 yy687:
        yych = (unsigned char)*++cur;
-       if (yych == 'G') goto yy707;
+       if (yych == 'n') goto yy707;
        goto yy14;
 yy688:
        yych = (unsigned char)*++cur;
-       if (yych == 'I') goto yy709;
+       if (yych == 'X') goto yy708;
        goto yy14;
 yy689:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy710;
+       if (yych == 'G') goto yy710;
        goto yy14;
 yy690:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy711;
+       if (yych == 'I') goto yy712;
        goto yy14;
 yy691:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy712;
+       if (yych == 'n') goto yy713;
        goto yy14;
 yy692:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy713;
+       if (yych == 's') goto yy714;
        goto yy14;
 yy693:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy715;
+       if (yych == 't') goto yy715;
        goto yy14;
 yy694:
        yych = (unsigned char)*++cur;
-       goto yy105;
+       if (yych == 'd') goto yy716;
+       goto yy14;
 yy695:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy716;
+       if (yych == 'o') goto yy718;
        goto yy14;
 yy696:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy717;
-       goto yy14;
+       goto yy105;
 yy697:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy718;
+       if (yych == 't') goto yy719;
        goto yy14;
 yy698:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy719;
+       if (yych == 'i') goto yy720;
        goto yy14;
 yy699:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy720;
+       if (yych == 'o') goto yy721;
        goto yy14;
 yy700:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy721;
+       if (yych == 'n') goto yy722;
        goto yy14;
 yy701:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy723;
+       goto yy14;
+yy702:
+       yych = (unsigned char)*++cur;
+       if (yych == 'i') goto yy724;
+       goto yy14;
+yy703:
+       yych = (unsigned char)*++cur;
+       if (yych == 't') goto yy725;
+       goto yy14;
+yy704:
        ++cur;
 #line 159 "../src/parse/lex_conf.re"
        { opts.set_fill_naked   (lex_conf_bool()); return; }
-#line 2964 "src/parse/lex_conf.cc"
-yy703:
+#line 2979 "src/parse/lex_conf.cc"
+yy706:
        yych = (unsigned char)*++cur;
-       if (yych == 'O') goto yy722;
+       if (yych == 'O') goto yy726;
        goto yy14;
-yy704:
+yy707:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy723;
+       if (yych == 'a') goto yy727;
        goto yy14;
-yy705:
+yy708:
        ++cur;
 #line 127 "../src/parse/lex_conf.re"
        { opts.set_yyrestorectx (lex_conf_string ()); return; }
-#line 2977 "src/parse/lex_conf.cc"
-yy707:
+#line 2992 "src/parse/lex_conf.cc"
+yy710:
        ++cur;
 #line 128 "../src/parse/lex_conf.re"
        { opts.set_yyrestoretag (lex_conf_string ()); return; }
-#line 2982 "src/parse/lex_conf.cc"
-yy709:
+#line 2997 "src/parse/lex_conf.cc"
+yy712:
        yych = (unsigned char)*++cur;
-       if (yych == 'O') goto yy724;
+       if (yych == 'O') goto yy728;
        goto yy14;
-yy710:
+yy713:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy725;
+       if (yych == 'a') goto yy729;
        goto yy14;
-yy711:
+yy714:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy726;
+       if (yych == 't') goto yy730;
        goto yy14;
-yy712:
+yy715:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy727;
+       if (yych == 'i') goto yy731;
        goto yy14;
-yy713:
+yy716:
        ++cur;
 #line 60 "../src/parse/lex_conf.re"
-       { opts.set_bCaseInverted(lex_conf_bool());     return; }
-#line 3003 "src/parse/lex_conf.cc"
-yy715:
+       { opts.set_bCaseInverted(lex_conf_bool());      return; }
+#line 3018 "src/parse/lex_conf.cc"
+yy718:
        yych = (unsigned char)*++cur;
        if (yych == 's') goto yy110;
        goto yy14;
-yy716:
-       yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy728;
-       goto yy14;
-yy717:
-       yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy729;
-       goto yy14;
-yy718:
-       yych = (unsigned char)*++cur;
-       goto yy113;
 yy719:
        yych = (unsigned char)*++cur;
-       if (yych == '-') goto yy730;
+       if (yych == 'i') goto yy732;
        goto yy14;
 yy720:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy731;
+       if (yych == 'c') goto yy733;
        goto yy14;
 yy721:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy732;
-       goto yy14;
+       goto yy113;
 yy722:
        yych = (unsigned char)*++cur;
-       if (yych == 'N') goto yy733;
+       if (yych == '-') goto yy734;
        goto yy14;
 yy723:
        yych = (unsigned char)*++cur;
-       if (yych == 'k') goto yy735;
+       if (yych == '-') goto yy735;
        goto yy14;
 yy724:
        yych = (unsigned char)*++cur;
-       if (yych == 'N') goto yy736;
+       if (yych == 'o') goto yy736;
        goto yy14;
 yy725:
        yych = (unsigned char)*++cur;
-       if (yych == 'k') goto yy738;
+       if (yych == 'e') goto yy737;
        goto yy14;
 yy726:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy739;
+       if (yych == 'N') goto yy738;
        goto yy14;
 yy727:
        yych = (unsigned char)*++cur;
-       if (yych == 'v') goto yy740;
+       if (yych == 'k') goto yy740;
        goto yy14;
 yy728:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy741;
+       if (yych == 'N') goto yy741;
        goto yy14;
 yy729:
        yych = (unsigned char)*++cur;
-       if (yych == 'y') goto yy742;
+       if (yych == 'k') goto yy743;
        goto yy14;
 yy730:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy744;
+       if (yych == 'a') goto yy744;
        goto yy14;
 yy731:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy745;
+       if (yych == 'v') goto yy745;
        goto yy14;
 yy732:
        yych = (unsigned char)*++cur;
-       goto yy109;
+       if (yych == 'o') goto yy746;
+       goto yy14;
 yy733:
+       yych = (unsigned char)*++cur;
+       if (yych == 'y') goto yy747;
+       goto yy14;
+yy734:
+       yych = (unsigned char)*++cur;
+       if (yych == 'd') goto yy749;
+       goto yy14;
+yy735:
+       yych = (unsigned char)*++cur;
+       if (yych == 'm') goto yy750;
+       goto yy14;
+yy736:
+       yych = (unsigned char)*++cur;
+       if (yych == 'n') goto yy751;
+       goto yy14;
+yy737:
+       yych = (unsigned char)*++cur;
+       goto yy109;
+yy738:
        yyaccept = 21;
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == ':') goto yy746;
-yy734:
+       if (yych == ':') goto yy752;
+yy739:
 #line 78 "../src/parse/lex_conf.re"
        { opts.set_cond_get         (lex_conf_string ()); return; }
-#line 3081 "src/parse/lex_conf.cc"
-yy735:
+#line 3104 "src/parse/lex_conf.cc"
+yy740:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy747;
+       if (yych == 'e') goto yy753;
        goto yy14;
-yy736:
+yy741:
        yyaccept = 22;
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == ':') goto yy748;
-       if (yych == '@') goto yy749;
-yy737:
+       if (yych == ':') goto yy754;
+       if (yych == '@') goto yy755;
+yy742:
 #line 80 "../src/parse/lex_conf.re"
        { opts.set_cond_set         (lex_conf_string ()); return; }
-#line 3094 "src/parse/lex_conf.cc"
-yy738:
+#line 3117 "src/parse/lex_conf.cc"
+yy743:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy750;
+       if (yych == 'e') goto yy756;
        goto yy14;
-yy739:
+yy744:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy751;
+       if (yych == 't') goto yy757;
        goto yy14;
-yy740:
+yy745:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy752;
+       if (yych == 'e') goto yy758;
        goto yy14;
-yy741:
+yy746:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy754;
+       if (yych == 'n') goto yy760;
        goto yy14;
-yy742:
+yy747:
        ++cur;
-#line 71 "../src/parse/lex_conf.re"
+#line 72 "../src/parse/lex_conf.re"
        { lex_conf_encoding_policy();  return; }
-#line 3115 "src/parse/lex_conf.cc"
-yy744:
+#line 3138 "src/parse/lex_conf.cc"
+yy749:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy756;
+       if (yych == 'a') goto yy762;
        goto yy14;
-yy745:
+yy750:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy757;
+       if (yych == 'a') goto yy763;
        goto yy14;
-yy746:
+yy751:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy758;
+       if (yych == 's') goto yy764;
        goto yy14;
-yy747:
+yy752:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy759;
+       if (yych == 'n') goto yy765;
        goto yy14;
-yy748:
+yy753:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy761;
+       if (yych == 'd') goto yy766;
        goto yy14;
-yy749:
+yy754:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy762;
+       if (yych == 'n') goto yy768;
        goto yy14;
-yy750:
+yy755:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy763;
+       if (yych == 'c') goto yy769;
        goto yy14;
-yy751:
+yy756:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy765;
+       if (yych == 'd') goto yy770;
        goto yy14;
-yy752:
+yy757:
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy772;
+       goto yy14;
+yy758:
        ++cur;
 #line 59 "../src/parse/lex_conf.re"
-       { opts.set_bCaseInsensitive(lex_conf_bool());  return; }
-#line 3152 "src/parse/lex_conf.cc"
-yy754:
+       { opts.set_bCaseInsensitive(lex_conf_bool());   return; }
+#line 3179 "src/parse/lex_conf.cc"
+yy760:
        ++cur;
-#line 74 "../src/parse/lex_conf.re"
+#line 75 "../src/parse/lex_conf.re"
        { lex_conf_dfa_minimization(); return; }
-#line 3157 "src/parse/lex_conf.cc"
-yy756:
+#line 3184 "src/parse/lex_conf.cc"
+yy762:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy767;
+       if (yych == 't') goto yy774;
        goto yy14;
-yy757:
+yy763:
+       yych = (unsigned char)*++cur;
+       if (yych == 'p') goto yy775;
+       goto yy14;
+yy764:
        yych = (unsigned char)*++cur;
        goto yy103;
-yy758:
+yy765:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy768;
+       if (yych == 'a') goto yy776;
        goto yy14;
-yy759:
+yy766:
        ++cur;
 #line 92 "../src/parse/lex_conf.re"
        { opts.set_state_get_naked (lex_conf_bool()); return; }
-#line 3173 "src/parse/lex_conf.cc"
-yy761:
+#line 3204 "src/parse/lex_conf.cc"
+yy768:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy769;
+       if (yych == 'a') goto yy777;
        goto yy14;
-yy762:
+yy769:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy770;
+       if (yych == 'o') goto yy778;
        goto yy14;
-yy763:
+yy770:
        ++cur;
 #line 94 "../src/parse/lex_conf.re"
        { opts.set_state_set_naked (lex_conf_bool()); return; }
-#line 3186 "src/parse/lex_conf.cc"
-yy765:
+#line 3217 "src/parse/lex_conf.cc"
+yy772:
        ++cur;
 #line 95 "../src/parse/lex_conf.re"
        { opts.set_state_set_arg   (lex_conf_string ()); return; }
-#line 3191 "src/parse/lex_conf.cc"
-yy767:
+#line 3222 "src/parse/lex_conf.cc"
+yy774:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy771;
+       if (yych == 'e') goto yy779;
        goto yy14;
-yy768:
+yy775:
        yych = (unsigned char)*++cur;
-       if (yych == 'k') goto yy773;
+       if (yych == 'p') goto yy781;
        goto yy14;
-yy769:
+yy776:
        yych = (unsigned char)*++cur;
-       if (yych == 'k') goto yy774;
+       if (yych == 'k') goto yy782;
        goto yy14;
-yy770:
+yy777:
+       yych = (unsigned char)*++cur;
+       if (yych == 'k') goto yy783;
+       goto yy14;
+yy778:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy775;
+       if (yych == 'n') goto yy784;
        goto yy14;
-yy771:
+yy779:
        ++cur;
 #line 57 "../src/parse/lex_conf.re"
-       { opts.set_bNoGenerationDate(lex_conf_bool()); return; }
-#line 3212 "src/parse/lex_conf.cc"
-yy773:
+       { opts.set_bNoGenerationDate(lex_conf_bool());  return; }
+#line 3247 "src/parse/lex_conf.cc"
+yy781:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy776;
+       if (yych == 'i') goto yy785;
        goto yy14;
-yy774:
+yy782:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy777;
+       if (yych == 'e') goto yy786;
        goto yy14;
-yy775:
+yy783:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy778;
+       if (yych == 'e') goto yy787;
        goto yy14;
-yy776:
+yy784:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy780;
+       if (yych == 'd') goto yy788;
        goto yy14;
-yy777:
+yy785:
        yych = (unsigned char)*++cur;
-       if (yych == 'd') goto yy782;
+       if (yych == 'n') goto yy790;
        goto yy14;
-yy778:
+yy786:
+       yych = (unsigned char)*++cur;
+       if (yych == 'd') goto yy791;
+       goto yy14;
+yy787:
+       yych = (unsigned char)*++cur;
+       if (yych == 'd') goto yy793;
+       goto yy14;
+yy788:
        ++cur;
 #line 81 "../src/parse/lex_conf.re"
        { opts.set_cond_set_arg     (lex_conf_string ()); return; }
-#line 3237 "src/parse/lex_conf.cc"
-yy780:
+#line 3280 "src/parse/lex_conf.cc"
+yy790:
+       yych = (unsigned char)*++cur;
+       if (yych == 'g') goto yy795;
+       goto yy14;
+yy791:
        ++cur;
 #line 79 "../src/parse/lex_conf.re"
        { opts.set_cond_get_naked   (lex_conf_bool()); return; }
-#line 3242 "src/parse/lex_conf.cc"
-yy782:
+#line 3289 "src/parse/lex_conf.cc"
+yy793:
        ++cur;
 #line 82 "../src/parse/lex_conf.re"
        { opts.set_cond_set_naked   (lex_conf_bool()); return; }
-#line 3247 "src/parse/lex_conf.cc"
+#line 3294 "src/parse/lex_conf.cc"
+yy795:
+       ++cur;
+#line 61 "../src/parse/lex_conf.re"
+       { opts.set_bijective_mapping(!lex_conf_bool()); return; }
+#line 3299 "src/parse/lex_conf.cc"
 }
 #line 170 "../src/parse/lex_conf.re"
 
@@ -3253,100 +3305,100 @@ void Scanner::lex_conf_encoding_policy()
 {
        lex_conf_assign ();
 
-#line 3257 "src/parse/lex_conf.cc"
+#line 3309 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        if ((lim - cur) < 10) fill(10);
        yych = (unsigned char)*cur;
        if (yych <= 'h') {
-               if (yych == 'f') goto yy788;
+               if (yych == 'f') goto yy801;
        } else {
-               if (yych <= 'i') goto yy789;
-               if (yych == 's') goto yy790;
+               if (yych <= 'i') goto yy802;
+               if (yych == 's') goto yy803;
        }
        ++cur;
-yy787:
+yy800:
 #line 177 "../src/parse/lex_conf.re"
        { fatal("bad configuration value"
                " (expected: 'ignore', 'substitute', 'fail')"); }
-#line 3273 "src/parse/lex_conf.cc"
-yy788:
+#line 3325 "src/parse/lex_conf.cc"
+yy801:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'a') goto yy791;
-       goto yy787;
-yy789:
+       if (yych == 'a') goto yy804;
+       goto yy800;
+yy802:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'g') goto yy793;
-       goto yy787;
-yy790:
+       if (yych == 'g') goto yy806;
+       goto yy800;
+yy803:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'u') goto yy794;
-       goto yy787;
-yy791:
+       if (yych == 'u') goto yy807;
+       goto yy800;
+yy804:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy795;
-yy792:
+       if (yych == 'i') goto yy808;
+yy805:
        cur = ptr;
-       goto yy787;
-yy793:
+       goto yy800;
+yy806:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy796;
-       goto yy792;
-yy794:
+       if (yych == 'n') goto yy809;
+       goto yy805;
+yy807:
        yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy797;
-       goto yy792;
-yy795:
+       if (yych == 'b') goto yy810;
+       goto yy805;
+yy808:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy798;
-       goto yy792;
-yy796:
+       if (yych == 'l') goto yy811;
+       goto yy805;
+yy809:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy800;
-       goto yy792;
-yy797:
+       if (yych == 'o') goto yy813;
+       goto yy805;
+yy810:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy801;
-       goto yy792;
-yy798:
+       if (yych == 's') goto yy814;
+       goto yy805;
+yy811:
        ++cur;
 #line 181 "../src/parse/lex_conf.re"
        { opts.set_encoding_policy(Enc::POLICY_FAIL);       goto end; }
-#line 3316 "src/parse/lex_conf.cc"
-yy800:
+#line 3368 "src/parse/lex_conf.cc"
+yy813:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy802;
-       goto yy792;
-yy801:
+       if (yych == 'r') goto yy815;
+       goto yy805;
+yy814:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy803;
-       goto yy792;
-yy802:
+       if (yych == 't') goto yy816;
+       goto yy805;
+yy815:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy804;
-       goto yy792;
-yy803:
+       if (yych == 'e') goto yy817;
+       goto yy805;
+yy816:
        yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy806;
-       goto yy792;
-yy804:
+       if (yych == 'i') goto yy819;
+       goto yy805;
+yy817:
        ++cur;
 #line 179 "../src/parse/lex_conf.re"
        { opts.set_encoding_policy(Enc::POLICY_IGNORE);     goto end; }
-#line 3337 "src/parse/lex_conf.cc"
-yy806:
+#line 3389 "src/parse/lex_conf.cc"
+yy819:
        yych = (unsigned char)*++cur;
-       if (yych != 't') goto yy792;
+       if (yych != 't') goto yy805;
        yych = (unsigned char)*++cur;
-       if (yych != 'u') goto yy792;
+       if (yych != 'u') goto yy805;
        yych = (unsigned char)*++cur;
-       if (yych != 't') goto yy792;
+       if (yych != 't') goto yy805;
        yych = (unsigned char)*++cur;
-       if (yych != 'e') goto yy792;
+       if (yych != 'e') goto yy805;
        ++cur;
 #line 180 "../src/parse/lex_conf.re"
        { opts.set_encoding_policy(Enc::POLICY_SUBSTITUTE); goto end; }
-#line 3350 "src/parse/lex_conf.cc"
+#line 3402 "src/parse/lex_conf.cc"
 }
 #line 182 "../src/parse/lex_conf.re"
 
@@ -3358,75 +3410,75 @@ void Scanner::lex_conf_input()
 {
        lex_conf_assign ();
 
-#line 3362 "src/parse/lex_conf.cc"
+#line 3414 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        if ((lim - cur) < 7) fill(7);
        yych = (unsigned char)*cur;
-       if (yych <= 'b') goto yy814;
-       if (yych <= 'c') goto yy816;
-       if (yych <= 'd') goto yy817;
-yy814:
+       if (yych <= 'b') goto yy827;
+       if (yych <= 'c') goto yy829;
+       if (yych <= 'd') goto yy830;
+yy827:
        ++cur;
-yy815:
+yy828:
 #line 191 "../src/parse/lex_conf.re"
        { fatal("bad configuration value"
                " (expected: 'default', 'custom')"); }
-#line 3376 "src/parse/lex_conf.cc"
-yy816:
+#line 3428 "src/parse/lex_conf.cc"
+yy829:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'u') goto yy818;
-       goto yy815;
-yy817:
+       if (yych == 'u') goto yy831;
+       goto yy828;
+yy830:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'e') goto yy820;
-       goto yy815;
-yy818:
+       if (yych == 'e') goto yy833;
+       goto yy828;
+yy831:
        yych = (unsigned char)*++cur;
-       if (yych == 's') goto yy821;
-yy819:
+       if (yych == 's') goto yy834;
+yy832:
        cur = ptr;
-       goto yy815;
-yy820:
+       goto yy828;
+yy833:
        yych = (unsigned char)*++cur;
-       if (yych == 'f') goto yy822;
-       goto yy819;
-yy821:
+       if (yych == 'f') goto yy835;
+       goto yy832;
+yy834:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy823;
-       goto yy819;
-yy822:
+       if (yych == 't') goto yy836;
+       goto yy832;
+yy835:
        yych = (unsigned char)*++cur;
-       if (yych == 'a') goto yy824;
-       goto yy819;
-yy823:
+       if (yych == 'a') goto yy837;
+       goto yy832;
+yy836:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy825;
-       goto yy819;
-yy824:
+       if (yych == 'o') goto yy838;
+       goto yy832;
+yy837:
        yych = (unsigned char)*++cur;
-       if (yych == 'u') goto yy826;
-       goto yy819;
-yy825:
+       if (yych == 'u') goto yy839;
+       goto yy832;
+yy838:
        yych = (unsigned char)*++cur;
-       if (yych == 'm') goto yy827;
-       goto yy819;
-yy826:
+       if (yych == 'm') goto yy840;
+       goto yy832;
+yy839:
        yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy829;
-       goto yy819;
-yy827:
+       if (yych == 'l') goto yy842;
+       goto yy832;
+yy840:
        ++cur;
 #line 194 "../src/parse/lex_conf.re"
        { opts.set_input_api(InputAPI::CUSTOM);  goto end; }
-#line 3423 "src/parse/lex_conf.cc"
-yy829:
+#line 3475 "src/parse/lex_conf.cc"
+yy842:
        yych = (unsigned char)*++cur;
-       if (yych != 't') goto yy819;
+       if (yych != 't') goto yy832;
        ++cur;
 #line 193 "../src/parse/lex_conf.re"
        { opts.set_input_api(InputAPI::DEFAULT); goto end; }
-#line 3430 "src/parse/lex_conf.cc"
+#line 3482 "src/parse/lex_conf.cc"
 }
 #line 195 "../src/parse/lex_conf.re"
 
@@ -3438,103 +3490,103 @@ void Scanner::lex_conf_empty_class()
 {
        lex_conf_assign ();
 
-#line 3442 "src/parse/lex_conf.cc"
+#line 3494 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        if ((lim - cur) < 11) fill(11);
        yych = (unsigned char)*cur;
-       if (yych == 'e') goto yy836;
-       if (yych == 'm') goto yy837;
+       if (yych == 'e') goto yy849;
+       if (yych == 'm') goto yy850;
        ++cur;
-yy835:
+yy848:
 #line 204 "../src/parse/lex_conf.re"
        { fatal("bad configuration value"
                " (expected: 'match-empty', 'match-none', 'error')"); }
-#line 3454 "src/parse/lex_conf.cc"
-yy836:
+#line 3506 "src/parse/lex_conf.cc"
+yy849:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'r') goto yy838;
-       goto yy835;
-yy837:
+       if (yych == 'r') goto yy851;
+       goto yy848;
+yy850:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'a') goto yy840;
-       goto yy835;
-yy838:
+       if (yych == 'a') goto yy853;
+       goto yy848;
+yy851:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy841;
-yy839:
+       if (yych == 'r') goto yy854;
+yy852:
        cur = ptr;
-       goto yy835;
-yy840:
+       goto yy848;
+yy853:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy842;
-       goto yy839;
-yy841:
+       if (yych == 't') goto yy855;
+       goto yy852;
+yy854:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy843;
-       goto yy839;
-yy842:
+       if (yych == 'o') goto yy856;
+       goto yy852;
+yy855:
        yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy844;
-       goto yy839;
-yy843:
+       if (yych == 'c') goto yy857;
+       goto yy852;
+yy856:
        yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy845;
-       goto yy839;
-yy844:
+       if (yych == 'r') goto yy858;
+       goto yy852;
+yy857:
        yych = (unsigned char)*++cur;
-       if (yych == 'h') goto yy847;
-       goto yy839;
-yy845:
+       if (yych == 'h') goto yy860;
+       goto yy852;
+yy858:
        ++cur;
 #line 208 "../src/parse/lex_conf.re"
        { opts.set_empty_class_policy(EMPTY_CLASS_ERROR);       goto end; }
-#line 3493 "src/parse/lex_conf.cc"
-yy847:
+#line 3545 "src/parse/lex_conf.cc"
+yy860:
        yych = (unsigned char)*++cur;
-       if (yych != '-') goto yy839;
+       if (yych != '-') goto yy852;
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy849;
-       if (yych == 'n') goto yy850;
-       goto yy839;
-yy849:
+       if (yych == 'e') goto yy862;
+       if (yych == 'n') goto yy863;
+       goto yy852;
+yy862:
        yych = (unsigned char)*++cur;
-       if (yych == 'm') goto yy851;
-       goto yy839;
-yy850:
+       if (yych == 'm') goto yy864;
+       goto yy852;
+yy863:
        yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy852;
-       goto yy839;
-yy851:
+       if (yych == 'o') goto yy865;
+       goto yy852;
+yy864:
        yych = (unsigned char)*++cur;
-       if (yych == 'p') goto yy853;
-       goto yy839;
-yy852:
+       if (yych == 'p') goto yy866;
+       goto yy852;
+yy865:
        yych = (unsigned char)*++cur;
-       if (yych == 'n') goto yy854;
-       goto yy839;
-yy853:
+       if (yych == 'n') goto yy867;
+       goto yy852;
+yy866:
        yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy855;
-       goto yy839;
-yy854:
+       if (yych == 't') goto yy868;
+       goto yy852;
+yy867:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy856;
-       goto yy839;
-yy855:
+       if (yych == 'e') goto yy869;
+       goto yy852;
+yy868:
        yych = (unsigned char)*++cur;
-       if (yych == 'y') goto yy858;
-       goto yy839;
-yy856:
+       if (yych == 'y') goto yy871;
+       goto yy852;
+yy869:
        ++cur;
 #line 207 "../src/parse/lex_conf.re"
        { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_NONE);  goto end; }
-#line 3533 "src/parse/lex_conf.cc"
-yy858:
+#line 3585 "src/parse/lex_conf.cc"
+yy871:
        ++cur;
 #line 206 "../src/parse/lex_conf.re"
        { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_EMPTY); goto end; }
-#line 3538 "src/parse/lex_conf.cc"
+#line 3590 "src/parse/lex_conf.cc"
 }
 #line 209 "../src/parse/lex_conf.re"
 
@@ -3546,165 +3598,65 @@ void Scanner::lex_conf_dfa_minimization()
 {
        lex_conf_assign ();
 
-#line 3550 "src/parse/lex_conf.cc"
+#line 3602 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        if ((lim - cur) < 5) fill(5);
        yych = (unsigned char)*cur;
-       if (yych == 'm') goto yy864;
-       if (yych == 't') goto yy865;
+       if (yych == 'm') goto yy877;
+       if (yych == 't') goto yy878;
        ++cur;
-yy863:
+yy876:
 #line 218 "../src/parse/lex_conf.re"
        { fatal("bad configuration value"
                " (expected: 'table', 'moore')"); }
-#line 3562 "src/parse/lex_conf.cc"
-yy864:
+#line 3614 "src/parse/lex_conf.cc"
+yy877:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'o') goto yy866;
-       goto yy863;
-yy865:
+       if (yych == 'o') goto yy879;
+       goto yy876;
+yy878:
        yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'a') goto yy868;
-       goto yy863;
-yy866:
-       yych = (unsigned char)*++cur;
-       if (yych == 'o') goto yy869;
-yy867:
-       cur = ptr;
-       goto yy863;
-yy868:
-       yych = (unsigned char)*++cur;
-       if (yych == 'b') goto yy870;
-       goto yy867;
-yy869:
-       yych = (unsigned char)*++cur;
-       if (yych == 'r') goto yy871;
-       goto yy867;
-yy870:
-       yych = (unsigned char)*++cur;
-       if (yych == 'l') goto yy872;
-       goto yy867;
-yy871:
-       yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy873;
-       goto yy867;
-yy872:
+       if (yych == 'a') goto yy881;
+       goto yy876;
+yy879:
        yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy875;
-       goto yy867;
-yy873:
-       ++cur;
-#line 221 "../src/parse/lex_conf.re"
-       { opts.set_dfa_minimization(DFA_MINIMIZATION_MOORE); goto end; }
-#line 3601 "src/parse/lex_conf.cc"
-yy875:
-       ++cur;
-#line 220 "../src/parse/lex_conf.re"
-       { opts.set_dfa_minimization(DFA_MINIMIZATION_TABLE); goto end; }
-#line 3606 "src/parse/lex_conf.cc"
-}
-#line 222 "../src/parse/lex_conf.re"
-
-end:
-       lex_conf_semicolon();
-}
-
-void Scanner::lex_conf_dfa_mapping()
-{
-       lex_conf_assign ();
-
-#line 3618 "src/parse/lex_conf.cc"
-{
-       unsigned char yych;
-       if ((lim - cur) < 9) fill(9);
-       yych = (unsigned char)*cur;
-       if (yych == 'b') goto yy881;
-       if (yych == 'i') goto yy882;
-       ++cur;
+       if (yych == 'o') goto yy882;
 yy880:
-#line 231 "../src/parse/lex_conf.re"
-       { fatal("bad configuration value"
-               " (expected: 'bijective', 'injective')"); }
-#line 3630 "src/parse/lex_conf.cc"
+       cur = ptr;
+       goto yy876;
 yy881:
-       yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'i') goto yy883;
+       yych = (unsigned char)*++cur;
+       if (yych == 'b') goto yy883;
        goto yy880;
 yy882:
-       yych = (unsigned char)*(ptr = ++cur);
-       if (yych == 'n') goto yy885;
+       yych = (unsigned char)*++cur;
+       if (yych == 'r') goto yy884;
        goto yy880;
 yy883:
        yych = (unsigned char)*++cur;
-       if (yych == 'j') goto yy886;
+       if (yych == 'l') goto yy885;
+       goto yy880;
 yy884:
-       cur = ptr;
+       yych = (unsigned char)*++cur;
+       if (yych == 'e') goto yy886;
        goto yy880;
 yy885:
-       yych = (unsigned char)*++cur;
-       if (yych == 'j') goto yy887;
-       goto yy884;
-yy886:
        yych = (unsigned char)*++cur;
        if (yych == 'e') goto yy888;
-       goto yy884;
-yy887:
-       yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy889;
-       goto yy884;
-yy888:
-       yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy890;
-       goto yy884;
-yy889:
-       yych = (unsigned char)*++cur;
-       if (yych == 'c') goto yy891;
-       goto yy884;
-yy890:
-       yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy892;
-       goto yy884;
-yy891:
-       yych = (unsigned char)*++cur;
-       if (yych == 't') goto yy893;
-       goto yy884;
-yy892:
-       yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy894;
-       goto yy884;
-yy893:
-       yych = (unsigned char)*++cur;
-       if (yych == 'i') goto yy895;
-       goto yy884;
-yy894:
-       yych = (unsigned char)*++cur;
-       if (yych == 'v') goto yy896;
-       goto yy884;
-yy895:
-       yych = (unsigned char)*++cur;
-       if (yych == 'v') goto yy897;
-       goto yy884;
-yy896:
-       yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy898;
-       goto yy884;
-yy897:
-       yych = (unsigned char)*++cur;
-       if (yych == 'e') goto yy900;
-       goto yy884;
-yy898:
+       goto yy880;
+yy886:
        ++cur;
-#line 233 "../src/parse/lex_conf.re"
-       { opts.set_dfa_mapping(mapping_t::BIJECTIVE); goto end; }
-#line 3701 "src/parse/lex_conf.cc"
-yy900:
+#line 221 "../src/parse/lex_conf.re"
+       { opts.set_dfa_minimization(DFA_MINIMIZATION_MOORE); goto end; }
+#line 3653 "src/parse/lex_conf.cc"
+yy888:
        ++cur;
-#line 234 "../src/parse/lex_conf.re"
-       { opts.set_dfa_mapping(mapping_t::INJECTIVE); goto end; }
-#line 3706 "src/parse/lex_conf.cc"
+#line 220 "../src/parse/lex_conf.re"
+       { opts.set_dfa_minimization(DFA_MINIMIZATION_TABLE); goto end; }
+#line 3658 "src/parse/lex_conf.cc"
 }
-#line 235 "../src/parse/lex_conf.re"
+#line 222 "../src/parse/lex_conf.re"
 
 end:
        lex_conf_semicolon();
@@ -3725,7 +3677,7 @@ void Scanner::lex_conf_enc(Enc::type_t enc)
 void Scanner::lex_conf_assign ()
 {
 
-#line 3729 "src/parse/lex_conf.cc"
+#line 3681 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        static const unsigned char yybm[] = {
@@ -3765,56 +3717,56 @@ void Scanner::lex_conf_assign ()
        if ((lim - cur) < 2) fill(2);
        yych = (unsigned char)*cur;
        if (yych <= 0x1F) {
-               if (yych == '\t') goto yy906;
+               if (yych == '\t') goto yy894;
        } else {
-               if (yych <= ' ') goto yy906;
-               if (yych == '=') goto yy907;
+               if (yych <= ' ') goto yy894;
+               if (yych == '=') goto yy895;
        }
        ++cur;
-yy905:
-#line 255 "../src/parse/lex_conf.re"
+yy893:
+#line 242 "../src/parse/lex_conf.re"
        { fatal ("missing '=' in configuration"); }
-#line 3778 "src/parse/lex_conf.cc"
-yy906:
+#line 3730 "src/parse/lex_conf.cc"
+yy894:
        yych = (unsigned char)*(ptr = ++cur);
        if (yych <= 0x1F) {
-               if (yych == '\t') goto yy910;
-               goto yy905;
+               if (yych == '\t') goto yy898;
+               goto yy893;
        } else {
-               if (yych <= ' ') goto yy910;
-               if (yych != '=') goto yy905;
+               if (yych <= ' ') goto yy898;
+               if (yych != '=') goto yy893;
        }
-yy907:
+yy895:
        ++cur;
        if (lim <= cur) fill(1);
        yych = (unsigned char)*cur;
        if (yybm[0+yych] & 128) {
-               goto yy907;
+               goto yy895;
        }
-#line 256 "../src/parse/lex_conf.re"
+#line 243 "../src/parse/lex_conf.re"
        { return; }
-#line 3797 "src/parse/lex_conf.cc"
-yy910:
+#line 3749 "src/parse/lex_conf.cc"
+yy898:
        ++cur;
        if (lim <= cur) fill(1);
        yych = (unsigned char)*cur;
        if (yych <= 0x1F) {
-               if (yych == '\t') goto yy910;
+               if (yych == '\t') goto yy898;
        } else {
-               if (yych <= ' ') goto yy910;
-               if (yych == '=') goto yy907;
+               if (yych <= ' ') goto yy898;
+               if (yych == '=') goto yy895;
        }
        cur = ptr;
-       goto yy905;
+       goto yy893;
 }
-#line 257 "../src/parse/lex_conf.re"
+#line 244 "../src/parse/lex_conf.re"
 
 }
 
 void Scanner::lex_conf_semicolon ()
 {
 
-#line 3818 "src/parse/lex_conf.cc"
+#line 3770 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        static const unsigned char yybm[] = {
@@ -3854,39 +3806,39 @@ void Scanner::lex_conf_semicolon ()
        if ((lim - cur) < 2) fill(2);
        yych = (unsigned char)*cur;
        if (yych <= 0x1F) {
-               if (yych == '\t') goto yy917;
+               if (yych == '\t') goto yy905;
        } else {
-               if (yych <= ' ') goto yy917;
-               if (yych == ';') goto yy918;
+               if (yych <= ' ') goto yy905;
+               if (yych == ';') goto yy906;
        }
        ++cur;
-yy916:
-#line 263 "../src/parse/lex_conf.re"
+yy904:
+#line 250 "../src/parse/lex_conf.re"
        { fatal ("missing ending ';' in configuration"); }
-#line 3867 "src/parse/lex_conf.cc"
-yy917:
+#line 3819 "src/parse/lex_conf.cc"
+yy905:
        yych = (unsigned char)*(ptr = ++cur);
        if (yybm[0+yych] & 128) {
-               goto yy920;
+               goto yy908;
        }
-       if (yych != ';') goto yy916;
-yy918:
+       if (yych != ';') goto yy904;
+yy906:
        ++cur;
-#line 264 "../src/parse/lex_conf.re"
+#line 251 "../src/parse/lex_conf.re"
        { return; }
-#line 3878 "src/parse/lex_conf.cc"
-yy920:
+#line 3830 "src/parse/lex_conf.cc"
+yy908:
        ++cur;
        if (lim <= cur) fill(1);
        yych = (unsigned char)*cur;
        if (yybm[0+yych] & 128) {
-               goto yy920;
+               goto yy908;
        }
-       if (yych == ';') goto yy918;
+       if (yych == ';') goto yy906;
        cur = ptr;
-       goto yy916;
+       goto yy904;
 }
-#line 265 "../src/parse/lex_conf.re"
+#line 252 "../src/parse/lex_conf.re"
 
 }
 
@@ -3900,7 +3852,7 @@ int32_t Scanner::lex_conf_number ()
        lex_conf_assign ();
        tok = cur;
 
-#line 3904 "src/parse/lex_conf.cc"
+#line 3856 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        static const unsigned char yybm[] = {
@@ -3940,21 +3892,21 @@ int32_t Scanner::lex_conf_number ()
        if ((lim - cur) < 2) fill(2);
        yych = (unsigned char)*cur;
        if (yych <= '/') {
-               if (yych == '-') goto yy926;
+               if (yych == '-') goto yy914;
        } else {
-               if (yych <= '0') goto yy927;
-               if (yych <= '9') goto yy929;
+               if (yych <= '0') goto yy915;
+               if (yych <= '9') goto yy917;
        }
-yy925:
-yy926:
+yy913:
+yy914:
        yych = (unsigned char)*++cur;
-       if (yych <= '0') goto yy925;
-       if (yych <= '9') goto yy929;
-       goto yy925;
-yy927:
+       if (yych <= '0') goto yy913;
+       if (yych <= '9') goto yy917;
+       goto yy913;
+yy915:
        ++cur;
-yy928:
-#line 279 "../src/parse/lex_conf.re"
+yy916:
+#line 266 "../src/parse/lex_conf.re"
        {
                int32_t n = 0;
                if (!s_to_i32_unsafe (tok, cur, n))
@@ -3964,17 +3916,17 @@ yy928:
                lex_conf_semicolon ();
                return n;
        }
-#line 3968 "src/parse/lex_conf.cc"
-yy929:
+#line 3920 "src/parse/lex_conf.cc"
+yy917:
        ++cur;
        if (lim <= cur) fill(1);
        yych = (unsigned char)*cur;
        if (yybm[0+yych] & 128) {
-               goto yy929;
+               goto yy917;
        }
-       goto yy928;
+       goto yy916;
 }
-#line 288 "../src/parse/lex_conf.re"
+#line 275 "../src/parse/lex_conf.re"
 
 }
 
@@ -3984,7 +3936,7 @@ std::string Scanner::lex_conf_string ()
        std::string s;
        tok = cur;
 
-#line 3988 "src/parse/lex_conf.cc"
+#line 3940 "src/parse/lex_conf.cc"
 {
        unsigned char yych;
        static const unsigned char yybm[] = {
@@ -4025,38 +3977,38 @@ std::string Scanner::lex_conf_string ()
        yych = (unsigned char)*cur;
        if (yych <= '!') {
                if (yych <= '\n') {
-                       if (yych <= 0x08) goto yy934;
+                       if (yych <= 0x08) goto yy922;
                } else {
-                       if (yych != ' ') goto yy934;
+                       if (yych != ' ') goto yy922;
                }
        } else {
                if (yych <= '\'') {
-                       if (yych <= '"') goto yy937;
-                       if (yych <= '&') goto yy934;
-                       goto yy937;
+                       if (yych <= '"') goto yy925;
+                       if (yych <= '&') goto yy922;
+                       goto yy925;
                } else {
-                       if (yych != ';') goto yy934;
+                       if (yych != ';') goto yy922;
                }
        }
-#line 315 "../src/parse/lex_conf.re"
+#line 302 "../src/parse/lex_conf.re"
        { goto end; }
-#line 4044 "src/parse/lex_conf.cc"
-yy934:
+#line 3996 "src/parse/lex_conf.cc"
+yy922:
        ++cur;
        if (lim <= cur) fill(1);
        yych = (unsigned char)*cur;
        if (yybm[0+yych] & 128) {
-               goto yy934;
+               goto yy922;
        }
-#line 311 "../src/parse/lex_conf.re"
+#line 298 "../src/parse/lex_conf.re"
        {
                s = std::string(tok, tok_len());
                goto end;
        }
-#line 4057 "src/parse/lex_conf.cc"
-yy937:
+#line 4009 "src/parse/lex_conf.cc"
+yy925:
        ++cur;
-#line 297 "../src/parse/lex_conf.re"
+#line 284 "../src/parse/lex_conf.re"
        {
                const char quote = tok[0];
                for (bool end;;) {
@@ -4071,9 +4023,9 @@ yy937:
                        }
                }
        }
-#line 4075 "src/parse/lex_conf.cc"
+#line 4027 "src/parse/lex_conf.cc"
 }
-#line 316 "../src/parse/lex_conf.re"
+#line 303 "../src/parse/lex_conf.re"
 
 end:
        lex_conf_semicolon ();
index 850b80b38906e57f261e8a9379463086cfe2cd54..0ee13340bc884a3151f4160f15e4dbe76c92acdd 100644 (file)
@@ -7,7 +7,6 @@
 
 #include "src/codegen/input_api.h"
 #include "src/ir/dfa/dfa.h"
-#include "src/ir/dfa/find_state.h"
 #include "src/ir/regexp/empty_class_policy.h"
 #include "src/ir/regexp/encoding/enc.h"
 #include "src/util/forbid_copy.h"
@@ -114,7 +113,7 @@ namespace re2c
        OPT (std::string, labelPrefix, "yy") \
        /* internals */ \
        OPT (dfa_minimization_t, dfa_minimization, DFA_MINIMIZATION_MOORE) \
-       OPT (mapping_t::type_t, dfa_mapping, mapping_t::BIJECTIVE) \
+       OPT (bool, bijective_mapping, true) \
        /* dump */ \
        OPT (bool, dump_dfa_raw, false) \
        OPT (bool, dump_dfa_det, false) \
index eeb237ed4eef0f314f53097bcbd132de7a2ad7bd..a55e8f8115cd7a8a2ecd42f31a96addae3cf52ab 100644 (file)
@@ -130,44 +130,44 @@ opt_long:
                error ("bad long option: %s", *argv);
                return EXIT_FAIL;
        }
-       "help"               end { usage ();   return EXIT_OK; }
-       "version"            end { version (); return EXIT_OK; }
-       "vernum"             end { vernum ();  return EXIT_OK; }
-       "bit-vectors"        end { opts.set_bFlag (true);             goto opt; }
-       "start-conditions"   end { opts.set_cFlag (true);             goto opt; }
-       "debug-output"       end { opts.set_dFlag (true);             goto opt; }
-       "emit-dot"           end { opts.set_target (opt_t::DOT);      goto opt; }
-       "storable-state"     end { opts.set_fFlag (true);             goto opt; }
-       "flex-syntax"        end { opts.set_FFlag (true);             goto opt; }
-       "computed-gotos"     end { opts.set_gFlag (true);             goto opt; }
-       "no-debug-info"      end { opts.set_iFlag (true);             goto opt; }
-       "reusable"           end { opts.set_rFlag (true);             goto opt; }
-       "nested-ifs"         end { opts.set_sFlag (true);             goto opt; }
-       "no-generation-date" end { opts.set_bNoGenerationDate (true); goto opt; }
-       "no-version"         end { opts.set_version (false);          goto opt; }
-       "case-insensitive"   end { opts.set_bCaseInsensitive (true);  goto opt; }
-       "case-inverted"      end { opts.set_bCaseInverted (true);     goto opt; }
-       "skeleton"           end { opts.set_target (opt_t::SKELETON); goto opt; }
-       "tags"               end { opts.set_tags (true);              goto opt; }
-       "ecb"                end { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-       "unicode"            end { if (!opts.set_encoding (Enc::UTF32))  { error_encoding (); return EXIT_FAIL; } goto opt; }
-       "wide-chars"         end { if (!opts.set_encoding (Enc::UCS2))   { error_encoding (); return EXIT_FAIL; } goto opt; }
-       "utf-16"             end { if (!opts.set_encoding (Enc::UTF16))  { error_encoding (); return EXIT_FAIL; } goto opt; }
-       "utf-8"              end { if (!opts.set_encoding (Enc::UTF8))   { error_encoding (); return EXIT_FAIL; } goto opt; }
-       "output"             end { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
-       "type-header"        end { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
-       "encoding-policy"    end { goto opt_encoding_policy; }
-       "input"              end { goto opt_input; }
-       "empty-class"        end { goto opt_empty_class; }
-       "dfa-minimization"   end { goto opt_dfa_minimization; }
-       "dfa-mapping"        end { goto opt_dfa_mapping; }
-       "single-pass"        end { goto opt; } // deprecated
+       "help"                  end { usage ();   return EXIT_OK; }
+       "version"               end { version (); return EXIT_OK; }
+       "vernum"                end { vernum ();  return EXIT_OK; }
+       "bit-vectors"           end { opts.set_bFlag (true);             goto opt; }
+       "start-conditions"      end { opts.set_cFlag (true);             goto opt; }
+       "debug-output"          end { opts.set_dFlag (true);             goto opt; }
+       "emit-dot"              end { opts.set_target (opt_t::DOT);      goto opt; }
+       "storable-state"        end { opts.set_fFlag (true);             goto opt; }
+       "flex-syntax"           end { opts.set_FFlag (true);             goto opt; }
+       "computed-gotos"        end { opts.set_gFlag (true);             goto opt; }
+       "no-debug-info"         end { opts.set_iFlag (true);             goto opt; }
+       "reusable"              end { opts.set_rFlag (true);             goto opt; }
+       "nested-ifs"            end { opts.set_sFlag (true);             goto opt; }
+       "no-generation-date"    end { opts.set_bNoGenerationDate (true); goto opt; }
+       "no-version"            end { opts.set_version (false);          goto opt; }
+       "case-insensitive"      end { opts.set_bCaseInsensitive (true);  goto opt; }
+       "case-inverted"         end { opts.set_bCaseInverted (true);     goto opt; }
+       "skeleton"              end { opts.set_target (opt_t::SKELETON); goto opt; }
+       "tags"                  end { opts.set_tags (true);              goto opt; }
+       "non-bijective-mapping" end { opts.set_bijective_mapping(false); goto opt; }
+       "ecb"                   end { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
+       "unicode"               end { if (!opts.set_encoding (Enc::UTF32))  { error_encoding (); return EXIT_FAIL; } goto opt; }
+       "wide-chars"            end { if (!opts.set_encoding (Enc::UCS2))   { error_encoding (); return EXIT_FAIL; } goto opt; }
+       "utf-16"                end { if (!opts.set_encoding (Enc::UTF16))  { error_encoding (); return EXIT_FAIL; } goto opt; }
+       "utf-8"                 end { if (!opts.set_encoding (Enc::UTF8))   { error_encoding (); return EXIT_FAIL; } goto opt; }
+       "output"                end { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
+       "type-header"           end { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
+       "encoding-policy"       end { goto opt_encoding_policy; }
+       "input"                 end { goto opt_input; }
+       "empty-class"           end { goto opt_empty_class; }
+       "dfa-minimization"      end { goto opt_dfa_minimization; }
+       "single-pass"           end { goto opt; } // deprecated
 
-       "dump-dfa-raw"       end { opts.set_dump_dfa_raw(true);    goto opt; }
-       "dump-dfa-det"       end { opts.set_dump_dfa_det(true);    goto opt; }
-       "dump-dfa-tagopt"    end { opts.set_dump_dfa_tagopt(true); goto opt; }
-       "dump-dfa-min"       end { opts.set_dump_dfa_min(true);    goto opt; }
-       "dump-adfa"          end { opts.set_dump_adfa(true);       goto opt; }
+       "dump-dfa-raw"          end { opts.set_dump_dfa_raw(true);    goto opt; }
+       "dump-dfa-det"          end { opts.set_dump_dfa_det(true);    goto opt; }
+       "dump-dfa-tagopt"       end { opts.set_dump_dfa_tagopt(true); goto opt; }
+       "dump-dfa-min"          end { opts.set_dump_dfa_min(true);    goto opt; }
+       "dump-adfa"             end { opts.set_dump_adfa(true);       goto opt; }
 */
 
 opt_output:
@@ -256,20 +256,6 @@ opt_dfa_minimization:
        "moore" end { opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; }
 */
 
-opt_dfa_mapping:
-       if (!next(YYCURSOR, argv)) {
-               error_arg("--mapping");
-               return EXIT_FAIL;
-       }
-/*!re2c
-       * {
-               error("bad argument to option --dfa-mapping (expected: bijective | injective): %s", *argv);
-               return EXIT_FAIL;
-       }
-       "bijective" end { opts.set_dfa_mapping(mapping_t::BIJECTIVE); goto opt; }
-       "injective" end { opts.set_dfa_mapping(mapping_t::INJECTIVE); goto opt; }
-*/
-
 end:
        if (!opts.source_file)
        {
index 238def28e1534d552b218d72817121a22fba40b2..8cacd1a2f2e856f505b7612518e44900207e79ad 100644 (file)
@@ -50,8 +50,7 @@ mapping_t::mapping_t(Tagpool &pool)
        , x2t(NULL)
        , x2y(NULL)
        , y2x(NULL)
-
-       , type(opts->dfa_mapping)
+       , bijective(opts->bijective_mapping)
        , max(0)
        , x2t_backup(NULL)
        , x2y_backup(NULL)
@@ -172,12 +171,12 @@ bool mapping_t::operator()(const kernel_t *k1, const kernel_t *k2)
                        const tagver_t x = xv[t], y = yv[t],
                                x0 = y2x[y], y0 = x2y[x];
                        if (y0 == TAGVER_ZERO
-                               && (type == INJECTIVE || x0 == TAGVER_ZERO)) {
+                               && (!bijective || x0 == TAGVER_ZERO)) {
                                x2t[x] = t;
                                x2y[x] = y;
                                y2x[y] = x;
                        } else if (!(y == y0
-                               && (type == INJECTIVE || x == x0))) return false;
+                               && (!bijective || x == x0))) return false;
                }
        }
 
@@ -299,9 +298,9 @@ kernels_t::result_t kernels_t::insert(const closure_t &clos, tagver_t maxver)
        mapping.init(maxver);
        x = lookup.find_with(hash, buffer, mapping);
        if (x != index_t::NIL) {
-               // see note [bijective vs surjective mappings]
                mapping.backup();
-               if (mapping.type == mapping_t::INJECTIVE) {
+               // see note [bijective vs surjective mappings]
+               if (!mapping.bijective) {
                        for (size_t y = x;;) {
                                y = lookup.find_next_with(y, buffer, mapping);
                                if (y == index_t::NIL) break;
index ba0c949b0c3314ede7a7430b3b561ea30243566b..d9fb5098daf7197c9519a8b025729740a03811aa 100644 (file)
@@ -33,8 +33,7 @@ private:
        tagver_t *y2x;
 
 public:
-       enum type_t {BIJECTIVE, INJECTIVE};
-       const type_t type;
+       const bool bijective;
        tagver_t max; // maximal tag version
        size_t *x2t_backup;
        tagver_t *x2y_backup;
index 95fe12bde276d9cff946bfff120fed1a7fd0c8da..d80cd25d1453bb3db36d2287815125efa9930543 100644 (file)
@@ -44,20 +44,21 @@ void Scanner::lex_conf ()
        "flags:" ("D" | "emit-dot") { opts.set_target(opt_t::DOT);      lex_conf_semicolon(); return; }
        "flags:" ("S" | "skeleton") { opts.set_target(opt_t::SKELETON); lex_conf_semicolon(); return; }
 
-       "flags:" ("b" | "bit-vectors")       { opts.set_bFlag(lex_conf_bool());             return; }
-       "flags:" ("c" | "start-conditions")  { opts.set_cFlag(lex_conf_bool());             return; }
-       "flags:" ("d" | "debug-output")      { opts.set_dFlag(lex_conf_bool());             return; }
-       "flags:" ("f" | "storable-state")    { opts.set_fFlag(lex_conf_bool());             return; }
-       "flags:" ("F" | "flex-syntax")       { opts.set_FFlag(lex_conf_bool());             return; }
-       "flags:" ("g" | "computed-gotos")    { opts.set_gFlag(lex_conf_bool());             return; }
-       "flags:" ("i" | "no-debug-info")     { opts.set_iFlag(lex_conf_bool());             return; }
-       "flags:" ("r" | "reusable")          { opts.set_rFlag(lex_conf_bool());             return; }
-       "flags:" ("s" | "nested-ifs")        { opts.set_sFlag(lex_conf_bool());             return; }
-       "flags:" ("T" | "tags")              { opts.set_tags(lex_conf_bool());              return; }
-       "flags:no-generation-date"           { opts.set_bNoGenerationDate(lex_conf_bool()); return; }
-       "flags:no-version"                   { opts.set_version(!lex_conf_bool());          return; }
-       "flags:case-insensitive"             { opts.set_bCaseInsensitive(lex_conf_bool());  return; }
-       "flags:case-inverted"                { opts.set_bCaseInverted(lex_conf_bool());     return; }
+       "flags:" ("b" | "bit-vectors")       { opts.set_bFlag(lex_conf_bool());              return; }
+       "flags:" ("c" | "start-conditions")  { opts.set_cFlag(lex_conf_bool());              return; }
+       "flags:" ("d" | "debug-output")      { opts.set_dFlag(lex_conf_bool());              return; }
+       "flags:" ("f" | "storable-state")    { opts.set_fFlag(lex_conf_bool());              return; }
+       "flags:" ("F" | "flex-syntax")       { opts.set_FFlag(lex_conf_bool());              return; }
+       "flags:" ("g" | "computed-gotos")    { opts.set_gFlag(lex_conf_bool());              return; }
+       "flags:" ("i" | "no-debug-info")     { opts.set_iFlag(lex_conf_bool());              return; }
+       "flags:" ("r" | "reusable")          { opts.set_rFlag(lex_conf_bool());              return; }
+       "flags:" ("s" | "nested-ifs")        { opts.set_sFlag(lex_conf_bool());              return; }
+       "flags:" ("T" | "tags")              { opts.set_tags(lex_conf_bool());               return; }
+       "flags:no-generation-date"           { opts.set_bNoGenerationDate(lex_conf_bool());  return; }
+       "flags:no-version"                   { opts.set_version(!lex_conf_bool());           return; }
+       "flags:case-insensitive"             { opts.set_bCaseInsensitive(lex_conf_bool());   return; }
+       "flags:case-inverted"                { opts.set_bCaseInverted(lex_conf_bool());      return; }
+       "flags:non-bijective-mapping"        { opts.set_bijective_mapping(!lex_conf_bool()); return; }
 
        "flags:" ("e" | "ecb")        { lex_conf_enc(Enc::EBCDIC); return; }
        "flags:" ("u" | "unicode")    { lex_conf_enc(Enc::UTF32);  return; }
@@ -72,7 +73,6 @@ void Scanner::lex_conf ()
        "flags:input"            { lex_conf_input();            return; }
        "flags:empty-class"      { lex_conf_empty_class();      return; }
        "flags:dfa-minimization" { lex_conf_dfa_minimization(); return; }
-       "flags:dfa-mapping"      { lex_conf_dfa_mapping();      return; }
 
        "define:YYCONDTYPE"           { opts.set_yycondtype       (lex_conf_string ()); return; }
        "define:YYGETCONDITION"       { opts.set_cond_get         (lex_conf_string ()); return; }
@@ -224,19 +224,6 @@ end:
        lex_conf_semicolon();
 }
 
-void Scanner::lex_conf_dfa_mapping()
-{
-       lex_conf_assign ();
-/*!re2c
-       * { fatal("bad configuration value"
-               " (expected: 'bijective', 'injective')"); }
-       "bijective" { opts.set_dfa_mapping(mapping_t::BIJECTIVE); goto end; }
-       "injective" { opts.set_dfa_mapping(mapping_t::INJECTIVE); goto end; }
-*/
-end:
-       lex_conf_semicolon();
-}
-
 void Scanner::lex_conf_enc(Enc::type_t enc)
 {
        const bool off = !lex_conf_bool();
index a2eeb9628f442b5e3d7ddda01351a48fa3e8065e..b2f9506c05cd70a46f5268cdadcd2db80c721bb8 100644 (file)
@@ -75,7 +75,6 @@ private:
        void lex_conf_input();
        void lex_conf_empty_class();
        void lex_conf_dfa_minimization();
-       void lex_conf_dfa_mapping();
        void lex_conf_enc(Enc::type_t enc);
        void lex_conf_assign();
        void lex_conf_semicolon();