From f3cee58b518cd7b28ba8cb6c57aec67176cc0080 Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Tue, 1 Jan 2019 13:13:14 +0000 Subject: [PATCH] Added debug option --dump-closure-stats. --- re2c/Makefile.am | 2 +- re2c/bootstrap/src/conf/parse_opts.cc | 1588 +++++++++++---------- re2c/src/adfa/action.h | 2 +- re2c/src/adfa/adfa.cc | 2 +- re2c/src/adfa/prepare.cc | 2 +- re2c/src/ast/scanner.cc | 2 +- re2c/src/code/emit_action.cc | 2 +- re2c/src/code/go_construct.cc | 2 +- re2c/src/code/input_api.cc | 2 +- re2c/src/conf/opt.h | 9 +- re2c/src/conf/parse_opts.re | 14 +- re2c/src/dfa/cfg/liveanal.cc | 2 +- re2c/src/dfa/cfg/normalize.cc | 2 +- re2c/src/dfa/closure_posix.cc | 11 +- re2c/src/dfa/determinization.cc | 3 +- re2c/src/dfa/determinization.h | 13 +- re2c/src/dfa/dump.cc | 24 +- re2c/src/dfa/dump.h | 30 + re2c/src/dfa/find_state.cc | 2 +- re2c/src/dfa/posix_precedence.cc | 5 +- re2c/src/dfa/tcmd.cc | 2 +- re2c/src/re/re.h | 2 +- re2c/src/skeleton/generate_data.cc | 2 +- re2c/src/skeleton/maxpath.cc | 2 +- re2c/src/skeleton/skeleton.cc | 2 +- re2c/src/util/{debug_assert.h => debug.h} | 9 +- re2c/src/util/lookup.h | 2 +- re2c/src/util/range.h | 2 +- 28 files changed, 939 insertions(+), 803 deletions(-) rename re2c/src/util/{debug_assert.h => debug.h} (52%) diff --git a/re2c/Makefile.am b/re2c/Makefile.am index ebb9adec..7a5d6bf3 100644 --- a/re2c/Makefile.am +++ b/re2c/Makefile.am @@ -59,7 +59,7 @@ SRC_HDR = \ src/util/attribute.h \ src/util/c99_stdint.h \ src/util/counter.h \ - src/util/debug_assert.h \ + src/util/debug.h \ src/util/forbid_copy.h \ src/util/free_list.h \ src/util/get_dir.h \ diff --git a/re2c/bootstrap/src/conf/parse_opts.cc b/re2c/bootstrap/src/conf/parse_opts.cc index c29039d4..ecf75d3e 100644 --- a/re2c/bootstrap/src/conf/parse_opts.cc +++ b/re2c/bootstrap/src/conf/parse_opts.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 1.1.1 on Mon Dec 31 12:22:28 2018 */ +/* Generated by re2c 1.1.1 on Tue Jan 1 12:30:10 2019 */ #line 1 "../src/conf/parse_opts.re" #include "src/code/input_api.h" #include "src/conf/msg.h" @@ -1618,744 +1618,745 @@ yy382: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 'c') { if (yych == 'a') goto yy419; - goto yy283; + if (yych <= 'b') goto yy283; + goto yy420; } else { - if (yych <= 'd') goto yy420; - if (yych == 'n') goto yy421; + if (yych <= 'd') goto yy421; + if (yych == 'n') goto yy422; goto yy283; } yy383: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy422; + if (yych == '-') goto yy423; goto yy283; yy384: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy423; + if (yych == 'd') goto yy424; goto yy283; yy385: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy424; + if (yych == '-') goto yy425; goto yy283; yy386: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy425; + if (yych == 'i') goto yy426; goto yy283; yy387: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy426; + if (yych == 's') goto yy427; goto yy283; yy388: ++YYCURSOR; #line 128 "../src/conf/parse_opts.re" { usage (); return EXIT_OK; } -#line 1652 "src/conf/parse_opts.cc" +#line 1653 "src/conf/parse_opts.cc" yy390: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy427; + if (yych <= 0x00) goto yy428; goto yy283; yy391: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy429; + if (yych == 'd') goto yy430; goto yy283; yy392: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy430; + if (yych == 'b') goto yy431; goto yy283; yy393: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy431; + if (yych == 'n') goto yy432; goto yy283; yy394: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy432; + if (yych == 'o') goto yy433; goto yy283; yy395: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy433; + if (yych == 't') goto yy434; goto yy283; yy396: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy434; + if (yych == 'r') goto yy435; goto yy283; yy397: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy435; + if (yych == 't') goto yy436; goto yy283; yy398: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy436; + if (yych == '-') goto yy437; goto yy283; yy399: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy437; + if (yych == 'b') goto yy438; goto yy283; yy400: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy438; + if (yych == 'e') goto yy439; goto yy283; yy401: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy439; + if (yych == 't') goto yy440; goto yy283; yy402: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy440; + if (yych == '-') goto yy441; goto yy283; yy403: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy441; + if (yych == 'b') goto yy442; goto yy283; yy404: ++YYCURSOR; #line 148 "../src/conf/parse_opts.re" { opts.set_tags (true); goto opt; } -#line 1713 "src/conf/parse_opts.cc" +#line 1714 "src/conf/parse_opts.cc" yy406: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy442; + if (yych == 'h') goto yy443; goto yy283; yy407: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy443; + if (yych == 'd') goto yy444; goto yy283; yy408: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '6') goto yy444; + if (yych == '6') goto yy445; goto yy283; yy409: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy445; + if (yych <= 0x00) goto yy446; goto yy283; yy410: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy447; + if (yych == 'm') goto yy448; goto yy283; yy411: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy448; + if (yych == 'o') goto yy449; goto yy283; yy412: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy449; + if (yych == 'c') goto yy450; goto yy283; yy413: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy450; + if (yych == 'c') goto yy451; goto yy283; yy414: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy451; + if (yych == 'n') goto yy452; goto yy283; yy415: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy452; + if (yych == 'e') goto yy453; goto yy283; yy416: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy453; + if (yych == 'i') goto yy454; goto yy283; yy417: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy454; + if (yych == 'o') goto yy455; goto yy283; yy418: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy455; + if (yych == 'n') goto yy456; goto yy283; yy419: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy456; + if (yych == 'd') goto yy457; goto yy283; yy420: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy457; + if (yych == 'l') goto yy458; goto yy283; yy421: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy458; + if (yych == 'f') goto yy459; goto yy283; yy422: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy459; + if (yych == 'f') goto yy460; goto yy283; yy423: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy460; + if (yych == 's') goto yy461; goto yy283; yy424: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy461; + if (yych == 'o') goto yy462; goto yy283; yy425: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy462; + if (yych == 'c') goto yy463; goto yy283; yy426: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy463; + if (yych == 'n') goto yy464; goto yy283; yy427: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'y') goto yy465; + goto yy283; +yy428: ++YYCURSOR; #line 162 "../src/conf/parse_opts.re" { NEXT_ARG("--input", opt_input); } -#line 1802 "src/conf/parse_opts.cc" -yy429: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy464; - goto yy283; +#line 1807 "src/conf/parse_opts.cc" yy430: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy465; + if (yych == '-') goto yy466; goto yy283; yy431: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy466; + if (yych == 'u') goto yy467; goto yy283; yy432: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'k') goto yy467; + if (yych == 'e') goto yy468; goto yy283; yy433: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy468; + if (yych == 'k') goto yy469; goto yy283; yy434: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy469; + if (yych == 'i') goto yy470; goto yy283; yy435: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy470; + if (yych == 's') goto yy471; goto yy283; yy436: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy472; + if (yych <= 0x00) goto yy472; goto yy283; yy437: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy473; + if (yych == 'c') goto yy474; goto yy283; yy438: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy474; + if (yych == 'l') goto yy475; goto yy283; yy439: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy475; + if (yych == '-') goto yy476; goto yy283; yy440: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy476; + if (yych == 'o') goto yy477; goto yy283; yy441: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy477; + if (yych == 'c') goto yy478; goto yy283; yy442: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy478; + if (yych == 'l') goto yy479; goto yy283; yy443: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy479; + if (yych == 'e') goto yy480; goto yy283; yy444: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy480; + if (yych == 'e') goto yy481; goto yy283; yy445: - ++YYCURSOR; -#line 157 "../src/conf/parse_opts.re" - { opts.set_encoding(Enc::UTF8); goto opt; } -#line 1871 "src/conf/parse_opts.cc" -yy447: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy482; goto yy283; +yy446: + ++YYCURSOR; +#line 157 "../src/conf/parse_opts.re" + { opts.set_encoding(Enc::UTF8); goto opt; } +#line 1876 "src/conf/parse_opts.cc" yy448: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy484; + if (yych <= 0x00) goto yy484; goto yy283; yy449: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy485; + if (yych == 'n') goto yy486; goto yy283; yy450: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy486; + if (yych == 'h') goto yy487; goto yy283; yy451: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy487; - if (yych == 'v') goto yy488; + if (yych == 't') goto yy488; goto yy283; yy452: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy489; + if (yych == 's') goto yy489; + if (yych == 'v') goto yy490; goto yy283; yy453: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy490; + if (yych == 'd') goto yy491; goto yy283; yy454: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy491; + if (yych == 'o') goto yy492; goto yy283; yy455: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy492; + if (yych == 'u') goto yy493; goto yy283; yy456: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy493; + if (yych == 'i') goto yy494; goto yy283; yy457: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy494; + if (yych == 'f') goto yy495; goto yy283; yy458: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy495; + if (yych == 'o') goto yy496; goto yy283; yy459: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'k') goto yy496; + if (yych == 'a') goto yy497; goto yy283; yy460: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy497; + if (yych == 'a') goto yy498; goto yy283; yy461: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy498; + if (yych == 'k') goto yy499; goto yy283; yy462: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy499; + if (yych == 't') goto yy500; goto yy283; yy463: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy500; + if (yych == 'l') goto yy501; goto yy283; yy464: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy501; + if (yych == 'g') goto yy502; goto yy283; yy465: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy502; + if (yych == 'n') goto yy503; goto yy283; yy466: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy503; + if (yych == 'i') goto yy504; goto yy283; yy467: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy504; + if (yych == 'g') goto yy505; goto yy283; yy468: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy505; + if (yych == 'r') goto yy506; goto yy283; yy469: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy506; + if (yych == 'a') goto yy507; goto yy283; yy470: - ++YYCURSOR; -#line 159 "../src/conf/parse_opts.re" - { NEXT_ARG("-o, --output", opt_output); } -#line 1969 "src/conf/parse_opts.cc" -yy472: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy507; - if (yych == 'l') goto yy508; + if (yych == 'm') goto yy508; goto yy283; -yy473: +yy471: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy509; + if (yych == 'i') goto yy509; goto yy283; +yy472: + ++YYCURSOR; +#line 159 "../src/conf/parse_opts.re" + { NEXT_ARG("-o, --output", opt_output); } +#line 1978 "src/conf/parse_opts.cc" yy474: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy510; + if (yych == 'a') goto yy510; + if (yych == 'l') goto yy511; goto yy283; yy475: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy511; + if (yych == 'e') goto yy512; goto yy283; yy476: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy512; + if (yych == 'p') goto yy513; goto yy283; yy477: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy513; + if (yych == 'n') goto yy514; goto yy283; yy478: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy514; + if (yych == 'o') goto yy515; goto yy283; yy479: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy515; + if (yych == 'e') goto yy516; goto yy283; yy480: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'a') goto yy517; + goto yy283; +yy481: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy518; + goto yy283; +yy482: ++YYCURSOR; #line 156 "../src/conf/parse_opts.re" { opts.set_encoding(Enc::UTF16); goto opt; } -#line 2007 "src/conf/parse_opts.cc" -yy482: +#line 2016 "src/conf/parse_opts.cc" +yy484: ++YYCURSOR; #line 130 "../src/conf/parse_opts.re" { vernum (); return EXIT_OK; } -#line 2012 "src/conf/parse_opts.cc" -yy484: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy517; - goto yy283; -yy485: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy519; - goto yy283; +#line 2021 "src/conf/parse_opts.cc" yy486: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy520; + if (yych <= 0x00) goto yy520; goto yy283; yy487: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy521; + if (yych == 'a') goto yy522; goto yy283; yy488: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy522; + if (yych == 'o') goto yy523; goto yy283; yy489: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy523; + if (yych == 'e') goto yy524; goto yy283; yy490: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy524; + if (yych == 'e') goto yy525; goto yy283; yy491: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy525; + if (yych == '-') goto yy526; goto yy283; yy492: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy526; + if (yych == 'n') goto yy527; goto yy283; yy493: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy527; + if (yych == 't') goto yy528; goto yy283; yy494: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy528; + if (yych == 'm') goto yy529; goto yy283; yy495: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy529; + if (yych == 'a') goto yy530; goto yy283; yy496: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy531; + if (yych == 's') goto yy531; goto yy283; yy497: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy532; + if (yych == '-') goto yy532; goto yy283; yy498: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy534; + if (yych <= 0x00) goto yy533; goto yy283; yy499: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy535; + if (yych == 'i') goto yy535; goto yy283; yy500: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy536; + if (yych <= 0x00) goto yy536; goto yy283; yy501: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy537; + if (yych == 'a') goto yy538; goto yy283; yy502: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy538; + if (yych == '-') goto yy539; goto yy283; yy503: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy539; + if (yych == 't') goto yy540; goto yy283; yy504: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy540; + if (yych == 'f') goto yy541; goto yy283; yy505: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy541; + if (yych == '-') goto yy542; goto yy283; yy506: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy542; + if (yych == 'a') goto yy543; goto yy283; yy507: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy543; + if (yych == 'h') goto yy544; goto yy283; yy508: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy544; + if (yych == 'i') goto yy545; goto yy283; yy509: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy545; + if (yych == 'o') goto yy546; goto yy283; yy510: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy547; + if (yych == 'p') goto yy547; goto yy283; yy511: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy548; + if (yych == 'o') goto yy548; goto yy283; yy512: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy313; + if (yych <= 0x00) goto yy549; goto yy283; yy513: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy550; + if (yych == 'a') goto yy551; goto yy283; yy514: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy551; + if (yych <= 0x00) goto yy552; goto yy283; yy515: - ++YYCURSOR; -#line 154 "../src/conf/parse_opts.re" - { opts.set_encoding(Enc::UTF32); goto opt; } -#line 2141 "src/conf/parse_opts.cc" -yy517: - ++YYCURSOR; -#line 129 "../src/conf/parse_opts.re" - { version (); return EXIT_OK; } -#line 2146 "src/conf/parse_opts.cc" -yy519: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy552; + if (yych == 'n') goto yy313; goto yy283; -yy520: +yy516: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy553; + if (yych == '-') goto yy554; goto yy283; -yy521: +yy517: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy554; + if (yych == 'd') goto yy555; goto yy283; +yy518: + ++YYCURSOR; +#line 154 "../src/conf/parse_opts.re" + { opts.set_encoding(Enc::UTF32); goto opt; } +#line 2154 "src/conf/parse_opts.cc" +yy520: + ++YYCURSOR; +#line 129 "../src/conf/parse_opts.re" + { version (); return EXIT_OK; } +#line 2159 "src/conf/parse_opts.cc" yy522: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy555; + if (yych == 'r') goto yy556; goto yy283; yy523: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy556; + if (yych == 'r') goto yy557; goto yy283; yy524: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy557; + if (yych == 'n') goto yy558; goto yy283; yy525: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy558; + if (yych == 'r') goto yy559; goto yy283; yy526: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy559; + if (yych == 'g') goto yy560; goto yy283; yy527: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy560; + if (yych == 's') goto yy561; goto yy283; yy528: yych = (YYCTYPE)*++YYCURSOR; - switch (yych) { - case 'd': goto yy562; - case 'm': goto yy563; - case 'r': goto yy564; - case 't': goto yy565; - default: goto yy283; - } + if (yych == 'p') goto yy562; + goto yy283; yy529: - ++YYCURSOR; -#line 169 "../src/conf/parse_opts.re" - { globopts.dump_nfa = true; goto opt; } -#line 2196 "src/conf/parse_opts.cc" -yy531: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy566; + if (yych == 'i') goto yy563; goto yy283; -yy532: - ++YYCURSOR; -#line 133 "../src/conf/parse_opts.re" - { globopts.target = TARGET_DOT; goto opt; } -#line 2205 "src/conf/parse_opts.cc" -yy534: +yy530: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy567; + if (yych <= 0x00) goto yy564; goto yy283; -yy535: +yy531: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy568; + if (yych == 'u') goto yy566; goto yy283; -yy536: +yy532: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy569; - goto yy283; -yy537: + switch (yych) { + case 'd': goto yy567; + case 'm': goto yy568; + case 'r': goto yy569; + case 't': goto yy570; + default: goto yy283; + } +yy533: + ++YYCURSOR; +#line 170 "../src/conf/parse_opts.re" + { globopts.dump_nfa = true; goto opt; } +#line 2213 "src/conf/parse_opts.cc" +yy535: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy570; + if (yych == 'p') goto yy571; goto yy283; +yy536: + ++YYCURSOR; +#line 133 "../src/conf/parse_opts.re" + { globopts.target = TARGET_DOT; goto opt; } +#line 2222 "src/conf/parse_opts.cc" yy538: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy571; + if (yych == 's') goto yy572; goto yy283; yy539: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy572; + if (yych == 'p') goto yy573; goto yy283; yy540: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy573; + if (yych == 'a') goto yy574; goto yy283; yy541: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'z') goto yy574; + if (yych == 's') goto yy575; goto yy283; yy542: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy575; + if (yych == 'i') goto yy576; goto yy283; yy543: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy576; + if (yych == 't') goto yy577; goto yy283; yy544: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy577; + if (yych == 'e') goto yy578; goto yy283; yy545: - ++YYCURSOR; -#line 136 "../src/conf/parse_opts.re" - { globopts.rFlag = true; goto opt; } -#line 2254 "src/conf/parse_opts.cc" -yy547: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy578; + if (yych == 'z') goto yy579; goto yy283; -yy548: - ++YYCURSOR; -#line 139 "../src/conf/parse_opts.re" - { globopts.target = TARGET_SKELETON; goto opt; } -#line 2263 "src/conf/parse_opts.cc" -yy550: +yy546: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy579; + if (yych == 'n') goto yy580; goto yy283; -yy551: +yy547: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy580; + if (yych == 't') goto yy581; goto yy283; -yy552: +yy548: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy581; + if (yych == 's') goto yy582; goto yy283; -yy553: +yy549: + ++YYCURSOR; +#line 136 "../src/conf/parse_opts.re" + { globopts.rFlag = true; goto opt; } +#line 2271 "src/conf/parse_opts.cc" +yy551: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy582; + if (yych == 's') goto yy583; goto yy283; +yy552: + ++YYCURSOR; +#line 139 "../src/conf/parse_opts.re" + { globopts.target = TARGET_SKELETON; goto opt; } +#line 2280 "src/conf/parse_opts.cc" yy554: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy583; + if (yych == 's') goto yy584; goto yy283; yy555: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy584; + if (yych == 'e') goto yy585; goto yy283; yy556: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy585; + if (yych == 's') goto yy586; goto yy283; yy557: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy586; + if (yych == 's') goto yy587; goto yy283; yy558: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy588; + if (yych == 's') goto yy588; goto yy283; yy559: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'z') goto yy589; + if (yych == 't') goto yy589; goto yy283; yy560: - ++YYCURSOR; -#line 174 "../src/conf/parse_opts.re" - { globopts.dump_adfa = true; goto opt; } -#line 2308 "src/conf/parse_opts.cc" -yy562: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy590; + if (yych == 'o') goto yy590; goto yy283; -yy563: +yy561: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy591; + if (yych <= 0x00) goto yy591; goto yy283; -yy564: +yy562: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy592; + if (yych == 'u') goto yy593; goto yy283; -yy565: +yy563: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy593; + if (yych == 'z') goto yy594; goto yy283; +yy564: + ++YYCURSOR; +#line 175 "../src/conf/parse_opts.re" + { globopts.dump_adfa = true; goto opt; } +#line 2325 "src/conf/parse_opts.cc" yy566: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy594; + if (yych == 'r') goto yy595; goto yy283; yy567: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy596; + if (yych == 'e') goto yy596; goto yy283; yy568: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy597; + if (yych == 'i') goto yy597; goto yy283; yy569: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'x') goto yy598; + if (yych == 'a') goto yy598; goto yy283; yy570: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy599; + if (yych == 'a') goto yy599; goto yy283; yy571: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy601; + if (yych <= 0x00) goto yy600; goto yy283; yy572: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy602; + if (yych == 's') goto yy602; goto yy283; yy573: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy603; + if (yych == 'o') goto yy603; goto yy283; yy574: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy604; + if (yych == 'x') goto yy604; goto yy283; yy575: yych = (YYCTYPE)*++YYCURSOR; @@ -2363,456 +2364,515 @@ yy575: goto yy283; yy576: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy607; + if (yych == 'n') goto yy607; goto yy283; yy577: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy608; + if (yych == 'i') goto yy608; goto yy283; yy578: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy609; + if (yych == 'a') goto yy609; goto yy283; yy579: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy610; + if (yych == 'e') goto yy610; goto yy283; yy580: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy611; + if (yych <= 0x00) goto yy611; goto yy283; yy581: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy612; + if (yych == 'u') goto yy613; goto yy283; yy582: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy614; + if (yych == 'u') goto yy614; goto yy283; yy583: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy616; + if (yych == 's') goto yy615; goto yy283; yy584: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy617; + if (yych == 't') goto yy616; goto yy283; yy585: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy618; + if (yych == 'r') goto yy617; goto yy283; yy586: - ++YYCURSOR; -#line 132 "../src/conf/parse_opts.re" - { globopts.cFlag = true; goto opt; } -#line 2409 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy618; + goto yy283; +yy587: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy620; + goto yy283; yy588: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy619; + if (yych == 'i') goto yy622; goto yy283; yy589: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy620; + if (yych == 'e') goto yy623; goto yy283; yy590: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy621; + if (yych == 't') goto yy624; goto yy283; yy591: + ++YYCURSOR; +#line 132 "../src/conf/parse_opts.re" + { globopts.cFlag = true; goto opt; } +#line 2430 "src/conf/parse_opts.cc" +yy593: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy622; + if (yych == 't') goto yy625; goto yy283; -yy592: +yy594: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'w') goto yy623; + if (yych == 'a') goto yy626; goto yy283; -yy593: +yy595: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy624; + if (yych == 'e') goto yy627; goto yy283; -yy594: - ++YYCURSOR; -#line 152 "../src/conf/parse_opts.re" - { opts.set_eager_skip(true); goto opt; } -#line 2438 "src/conf/parse_opts.cc" yy596: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy625; + if (yych == 't') goto yy628; goto yy283; yy597: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy627; + if (yych == 'n') goto yy629; goto yy283; yy598: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy628; + if (yych == 'w') goto yy630; goto yy283; yy599: - ++YYCURSOR; -#line 145 "../src/conf/parse_opts.re" - { opts.set_sFlag (true); goto opt; } -#line 2455 "src/conf/parse_opts.cc" -yy601: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy630; + if (yych == 'g') goto yy631; goto yy283; +yy600: + ++YYCURSOR; +#line 152 "../src/conf/parse_opts.re" + { opts.set_eager_skip(true); goto opt; } +#line 2463 "src/conf/parse_opts.cc" yy602: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy631; + if (yych <= 0x00) goto yy632; goto yy283; yy603: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy632; + if (yych == 'l') goto yy634; goto yy283; yy604: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy633; + if (yych <= 0x00) goto yy635; goto yy283; yy605: ++YYCURSOR; -#line 138 "../src/conf/parse_opts.re" - { globopts.version = false; goto opt; } -#line 2476 "src/conf/parse_opts.cc" +#line 145 "../src/conf/parse_opts.re" + { opts.set_sFlag (true); goto opt; } +#line 2480 "src/conf/parse_opts.cc" yy607: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy634; + if (yych == 'f') goto yy637; goto yy283; yy608: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy635; + if (yych == 'o') goto yy638; goto yy283; yy609: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy636; + if (yych == 'd') goto yy639; goto yy283; yy610: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy638; + if (yych == '-') goto yy640; goto yy283; yy611: + ++YYCURSOR; +#line 138 "../src/conf/parse_opts.re" + { globopts.version = false; goto opt; } +#line 2501 "src/conf/parse_opts.cc" +yy613: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'r') goto yy641; + goto yy283; +yy614: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'r') goto yy642; + goto yy283; +yy615: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy643; + goto yy283; +yy616: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy639; + if (yych == 'a') goto yy645; goto yy283; -yy612: +yy617: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy646; + goto yy283; +yy618: ++YYCURSOR; #line 155 "../src/conf/parse_opts.re" { opts.set_encoding(Enc::UCS2); goto opt; } -#line 2501 "src/conf/parse_opts.cc" -yy614: +#line 2526 "src/conf/parse_opts.cc" +yy620: ++YYCURSOR; #line 141 "../src/conf/parse_opts.re" { opts.set_bFlag (true); goto opt; } -#line 2506 "src/conf/parse_opts.cc" -yy616: +#line 2531 "src/conf/parse_opts.cc" +yy622: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy641; + if (yych == 't') goto yy648; goto yy283; -yy617: +yy623: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy642; + if (yych == 'd') goto yy649; goto yy283; -yy618: +yy624: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'o') goto yy650; + goto yy283; +yy625: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy643; + if (yych <= 0x00) goto yy651; goto yy283; -yy619: +yy626: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy644; + if (yych == 't') goto yy653; goto yy283; -yy620: +yy627: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy646; + if (yych == '-') goto yy654; goto yy283; -yy621: +yy628: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy647; + if (yych <= 0x00) goto yy655; goto yy283; -yy622: +yy629: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy649; + if (yych <= 0x00) goto yy657; goto yy283; -yy623: +yy630: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy651; + if (yych <= 0x00) goto yy659; goto yy283; -yy624: +yy631: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy653; + if (yych == 'o') goto yy661; goto yy283; -yy625: +yy632: ++YYCURSOR; #line 163 "../src/conf/parse_opts.re" { NEXT_ARG("--empty-class", opt_empty_class); } -#line 2547 "src/conf/parse_opts.cc" -yy627: +#line 2576 "src/conf/parse_opts.cc" +yy634: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy654; + if (yych == 'i') goto yy662; goto yy283; -yy628: +yy635: ++YYCURSOR; #line 135 "../src/conf/parse_opts.re" { globopts.FFlag = true; goto opt; } -#line 2556 "src/conf/parse_opts.cc" -yy630: +#line 2585 "src/conf/parse_opts.cc" +yy637: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy655; + if (yych == 'o') goto yy663; goto yy283; -yy631: +yy638: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy656; + if (yych == 'n') goto yy664; goto yy283; -yy632: +yy639: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy657; + if (yych <= 0x00) goto yy665; goto yy283; -yy633: +yy640: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy659; + if (yych == 't') goto yy667; goto yy283; -yy634: +yy641: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy660; + if (yych == 'e') goto yy668; goto yy283; -yy635: +yy642: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy661; + if (yych == 'e') goto yy669; goto yy283; -yy636: +yy643: ++YYCURSOR; #line 167 "../src/conf/parse_opts.re" { goto opt; } -#line 2585 "src/conf/parse_opts.cc" -yy638: +#line 2614 "src/conf/parse_opts.cc" +yy645: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy662; + if (yych == 't') goto yy670; goto yy283; -yy639: +yy646: ++YYCURSOR; #line 160 "../src/conf/parse_opts.re" { NEXT_ARG("-t, --type-header", opt_header); } -#line 2594 "src/conf/parse_opts.cc" -yy641: +#line 2623 "src/conf/parse_opts.cc" +yy648: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy663; + if (yych == 'i') goto yy671; goto yy283; -yy642: +yy649: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy664; + if (yych <= 0x00) goto yy672; goto yy283; -yy643: +yy650: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy666; + if (yych == 's') goto yy674; goto yy283; -yy644: +yy651: ++YYCURSOR; #line 142 "../src/conf/parse_opts.re" { opts.set_dFlag (true); goto opt; } -#line 2611 "src/conf/parse_opts.cc" -yy646: +#line 2640 "src/conf/parse_opts.cc" +yy653: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy667; + if (yych == 'i') goto yy675; goto yy283; -yy647: +yy654: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy676; + goto yy283; +yy655: ++YYCURSOR; -#line 171 "../src/conf/parse_opts.re" - { globopts.dump_dfa_det = true; goto opt; } -#line 2620 "src/conf/parse_opts.cc" -yy649: +#line 172 "../src/conf/parse_opts.re" + { globopts.dump_dfa_det = true; goto opt; } +#line 2653 "src/conf/parse_opts.cc" +yy657: ++YYCURSOR; -#line 173 "../src/conf/parse_opts.re" - { globopts.dump_dfa_min = true; goto opt; } -#line 2625 "src/conf/parse_opts.cc" -yy651: +#line 174 "../src/conf/parse_opts.re" + { globopts.dump_dfa_min = true; goto opt; } +#line 2658 "src/conf/parse_opts.cc" +yy659: ++YYCURSOR; -#line 170 "../src/conf/parse_opts.re" - { globopts.dump_dfa_raw = true; goto opt; } -#line 2630 "src/conf/parse_opts.cc" -yy653: +#line 171 "../src/conf/parse_opts.re" + { globopts.dump_dfa_raw = true; goto opt; } +#line 2663 "src/conf/parse_opts.cc" +yy661: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy668; + if (yych == 'p') goto yy677; goto yy283; -yy654: +yy662: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy669; + if (yych == 'c') goto yy678; goto yy283; -yy655: +yy663: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy670; + if (yych <= 0x00) goto yy679; goto yy283; -yy656: +yy664: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy672; + if (yych == '-') goto yy681; goto yy283; -yy657: +yy665: ++YYCURSOR; #line 150 "../src/conf/parse_opts.re" { opts.set_lookahead(false); goto opt; } -#line 2651 "src/conf/parse_opts.cc" -yy659: +#line 2684 "src/conf/parse_opts.cc" +yy667: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy673; + if (yych == 'a') goto yy682; goto yy283; -yy660: +yy668: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy674; + if (yych == 's') goto yy683; goto yy283; -yy661: +yy669: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy675; + if (yych <= 0x00) goto yy684; goto yy283; -yy662: +yy670: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy677; + if (yych == 'e') goto yy686; goto yy283; -yy663: +yy671: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'v') goto yy678; + if (yych == 'v') goto yy687; goto yy283; -yy664: +yy672: ++YYCURSOR; #line 147 "../src/conf/parse_opts.re" { opts.set_bCaseInverted (true); goto opt; } -#line 2676 "src/conf/parse_opts.cc" -yy666: +#line 2709 "src/conf/parse_opts.cc" +yy674: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy679; + if (yych <= 0x00) goto yy688; goto yy283; -yy667: +yy675: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy681; + if (yych == 'o') goto yy690; goto yy283; -yy668: +yy676: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy682; + if (yych == 't') goto yy691; goto yy283; -yy669: +yy677: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy683; + if (yych == 't') goto yy692; goto yy283; -yy670: +yy678: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'y') goto yy693; + goto yy283; +yy679: ++YYCURSOR; #line 144 "../src/conf/parse_opts.re" { opts.set_iFlag (true); goto opt; } -#line 2697 "src/conf/parse_opts.cc" -yy672: +#line 2734 "src/conf/parse_opts.cc" +yy681: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy684; + if (yych == 'd') goto yy694; goto yy283; -yy673: +yy682: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy685; + if (yych == 'g') goto yy695; goto yy283; -yy674: +yy683: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy686; + if (yych <= 0x00) goto yy696; goto yy283; -yy675: +yy684: ++YYCURSOR; #line 165 "../src/conf/parse_opts.re" { NEXT_ARG("--posix-closure", opt_posix_closure); } -#line 2714 "src/conf/parse_opts.cc" -yy677: +#line 2751 "src/conf/parse_opts.cc" +yy686: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy688; + if (yych <= 0x00) goto yy698; goto yy283; -yy678: +yy687: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy690; + if (yych == 'e') goto yy700; goto yy283; -yy679: +yy688: ++YYCURSOR; #line 143 "../src/conf/parse_opts.re" { opts.set_gFlag (true); goto opt; } -#line 2727 "src/conf/parse_opts.cc" -yy681: +#line 2764 "src/conf/parse_opts.cc" +yy690: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy691; + if (yych == 'n') goto yy701; goto yy283; -yy682: +yy691: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy692; + if (yych == 'a') goto yy702; goto yy283; -yy683: +yy692: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy694; + if (yych <= 0x00) goto yy703; goto yy283; -yy684: +yy693: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy696; + if (yych <= 0x00) goto yy705; goto yy283; -yy685: +yy694: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy697; + if (yych == 'a') goto yy707; goto yy283; -yy686: +yy695: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy708; + goto yy283; +yy696: ++YYCURSOR; #line 149 "../src/conf/parse_opts.re" { opts.set_posix_captures(true); goto opt; } -#line 2752 "src/conf/parse_opts.cc" -yy688: +#line 2793 "src/conf/parse_opts.cc" +yy698: ++YYCURSOR; #line 134 "../src/conf/parse_opts.re" { globopts.fFlag = true; goto opt; } -#line 2757 "src/conf/parse_opts.cc" -yy690: +#line 2798 "src/conf/parse_opts.cc" +yy700: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy698; + if (yych <= 0x00) goto yy709; goto yy283; -yy691: +yy701: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy700; + if (yych <= 0x00) goto yy711; goto yy283; -yy692: +yy702: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy713; + goto yy283; +yy703: ++YYCURSOR; -#line 172 "../src/conf/parse_opts.re" - { globopts.dump_dfa_tagopt = true; goto opt; } -#line 2770 "src/conf/parse_opts.cc" -yy694: +#line 173 "../src/conf/parse_opts.re" + { globopts.dump_dfa_tagopt = true; goto opt; } +#line 2815 "src/conf/parse_opts.cc" +yy705: ++YYCURSOR; #line 161 "../src/conf/parse_opts.re" { NEXT_ARG("--encoding-policy", opt_encoding_policy); } -#line 2775 "src/conf/parse_opts.cc" -yy696: +#line 2820 "src/conf/parse_opts.cc" +yy707: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy702; + if (yych == 't') goto yy714; goto yy283; -yy697: +yy708: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy703; + if (yych <= 0x00) goto yy715; goto yy283; -yy698: +yy709: ++YYCURSOR; #line 146 "../src/conf/parse_opts.re" { opts.set_bCaseInsensitive (true); goto opt; } -#line 2788 "src/conf/parse_opts.cc" -yy700: +#line 2833 "src/conf/parse_opts.cc" +yy711: ++YYCURSOR; #line 164 "../src/conf/parse_opts.re" { NEXT_ARG("--dfa-minimization", opt_dfa_minimization); } -#line 2793 "src/conf/parse_opts.cc" -yy702: +#line 2838 "src/conf/parse_opts.cc" +yy713: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy705; + if (yych == 's') goto yy717; goto yy283; -yy703: +yy714: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy718; + goto yy283; +yy715: ++YYCURSOR; #line 151 "../src/conf/parse_opts.re" { opts.set_optimize_tags(false); goto opt; } -#line 2802 "src/conf/parse_opts.cc" -yy705: +#line 2851 "src/conf/parse_opts.cc" +yy717: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy719; + goto yy283; +yy718: yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy283; + if (yych <= 0x00) goto yy721; + goto yy283; +yy719: + ++YYCURSOR; +#line 176 "../src/conf/parse_opts.re" + { globopts.dump_closure_stats = true; goto opt; } +#line 2864 "src/conf/parse_opts.cc" +yy721: ++YYCURSOR; #line 137 "../src/conf/parse_opts.re" { globopts.bNoGenerationDate = true; goto opt; } -#line 2809 "src/conf/parse_opts.cc" +#line 2869 "src/conf/parse_opts.cc" } -#line 175 "../src/conf/parse_opts.re" +#line 177 "../src/conf/parse_opts.re" opt_output: -#line 2816 "src/conf/parse_opts.cc" +#line 2876 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2850,29 +2910,29 @@ opt_output: 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 0x00) goto yy710; - if (yych != '-') goto yy712; -yy710: + if (yych <= 0x00) goto yy725; + if (yych != '-') goto yy727; +yy725: ++YYCURSOR; -#line 179 "../src/conf/parse_opts.re" +#line 181 "../src/conf/parse_opts.re" { ERROR("bad argument to option -o, --output: %s", *argv); } -#line 2860 "src/conf/parse_opts.cc" -yy712: +#line 2920 "src/conf/parse_opts.cc" +yy727: yych = (YYCTYPE)*++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy712; + goto yy727; } ++YYCURSOR; -#line 180 "../src/conf/parse_opts.re" +#line 182 "../src/conf/parse_opts.re" { opts.set_output_file (*argv); goto opt; } -#line 2869 "src/conf/parse_opts.cc" +#line 2929 "src/conf/parse_opts.cc" } -#line 181 "../src/conf/parse_opts.re" +#line 183 "../src/conf/parse_opts.re" opt_header: -#line 2876 "src/conf/parse_opts.cc" +#line 2936 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2910,29 +2970,29 @@ opt_header: 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 0x00) goto yy718; - if (yych != '-') goto yy720; -yy718: + if (yych <= 0x00) goto yy733; + if (yych != '-') goto yy735; +yy733: ++YYCURSOR; -#line 185 "../src/conf/parse_opts.re" +#line 187 "../src/conf/parse_opts.re" { ERROR("bad argument to option -t, --type-header: %s", *argv); } -#line 2920 "src/conf/parse_opts.cc" -yy720: +#line 2980 "src/conf/parse_opts.cc" +yy735: yych = (YYCTYPE)*++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy720; + goto yy735; } ++YYCURSOR; -#line 186 "../src/conf/parse_opts.re" +#line 188 "../src/conf/parse_opts.re" { opts.set_header_file (*argv); goto opt; } -#line 2929 "src/conf/parse_opts.cc" +#line 2989 "src/conf/parse_opts.cc" } -#line 187 "../src/conf/parse_opts.re" +#line 189 "../src/conf/parse_opts.re" opt_incpath: -#line 2936 "src/conf/parse_opts.cc" +#line 2996 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2970,471 +3030,471 @@ opt_incpath: 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 0x00) goto yy726; - if (yych != '-') goto yy728; -yy726: + if (yych <= 0x00) goto yy741; + if (yych != '-') goto yy743; +yy741: ++YYCURSOR; -#line 191 "../src/conf/parse_opts.re" +#line 193 "../src/conf/parse_opts.re" { ERROR("bad argument to option -I: %s", *argv); } -#line 2980 "src/conf/parse_opts.cc" -yy728: +#line 3040 "src/conf/parse_opts.cc" +yy743: yych = (YYCTYPE)*++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy728; + goto yy743; } ++YYCURSOR; -#line 192 "../src/conf/parse_opts.re" +#line 194 "../src/conf/parse_opts.re" { globopts.incpaths.push_back(*argv); goto opt; } -#line 2989 "src/conf/parse_opts.cc" +#line 3049 "src/conf/parse_opts.cc" } -#line 193 "../src/conf/parse_opts.re" +#line 195 "../src/conf/parse_opts.re" opt_encoding_policy: -#line 2996 "src/conf/parse_opts.cc" +#line 3056 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych <= 'h') { - if (yych == 'f') goto yy736; + if (yych == 'f') goto yy751; } else { - if (yych <= 'i') goto yy737; - if (yych == 's') goto yy738; + if (yych <= 'i') goto yy752; + if (yych == 's') goto yy753; } ++YYCURSOR; -yy735: -#line 197 "../src/conf/parse_opts.re" +yy750: +#line 199 "../src/conf/parse_opts.re" { ERROR("bad argument to option --encoding-policy " "(expected: ignore | substitute | fail): %s", *argv); } -#line 3013 "src/conf/parse_opts.cc" -yy736: +#line 3073 "src/conf/parse_opts.cc" +yy751: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy739; - goto yy735; -yy737: + if (yych == 'a') goto yy754; + goto yy750; +yy752: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy741; - goto yy735; -yy738: + if (yych == 'g') goto yy756; + goto yy750; +yy753: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy742; - goto yy735; -yy739: + if (yych == 'u') goto yy757; + goto yy750; +yy754: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy743; -yy740: + if (yych == 'i') goto yy758; +yy755: YYCURSOR = YYMARKER; - goto yy735; -yy741: + goto yy750; +yy756: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy744; - goto yy740; -yy742: + if (yych == 'n') goto yy759; + goto yy755; +yy757: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy745; - goto yy740; -yy743: + if (yych == 'b') goto yy760; + goto yy755; +yy758: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy746; - goto yy740; -yy744: + if (yych == 'l') goto yy761; + goto yy755; +yy759: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy747; - goto yy740; -yy745: + if (yych == 'o') goto yy762; + goto yy755; +yy760: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy748; - goto yy740; -yy746: + if (yych == 's') goto yy763; + goto yy755; +yy761: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy749; - goto yy740; -yy747: + if (yych <= 0x00) goto yy764; + goto yy755; +yy762: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy751; - goto yy740; -yy748: + if (yych == 'r') goto yy766; + goto yy755; +yy763: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy752; - goto yy740; -yy749: + if (yych == 't') goto yy767; + goto yy755; +yy764: ++YYCURSOR; -#line 203 "../src/conf/parse_opts.re" +#line 205 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; } -#line 3068 "src/conf/parse_opts.cc" -yy751: +#line 3128 "src/conf/parse_opts.cc" +yy766: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy753; - goto yy740; -yy752: + if (yych == 'e') goto yy768; + goto yy755; +yy767: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy754; - goto yy740; -yy753: + if (yych == 'i') goto yy769; + goto yy755; +yy768: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy755; - goto yy740; -yy754: + if (yych <= 0x00) goto yy770; + goto yy755; +yy769: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy757; - goto yy740; -yy755: + if (yych == 't') goto yy772; + goto yy755; +yy770: ++YYCURSOR; -#line 201 "../src/conf/parse_opts.re" +#line 203 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; } -#line 3089 "src/conf/parse_opts.cc" -yy757: +#line 3149 "src/conf/parse_opts.cc" +yy772: yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'u') goto yy740; + if (yych != 'u') goto yy755; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 't') goto yy740; + if (yych != 't') goto yy755; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'e') goto yy740; + if (yych != 'e') goto yy755; yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy740; + if (yych >= 0x01) goto yy755; ++YYCURSOR; -#line 202 "../src/conf/parse_opts.re" +#line 204 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; } -#line 3102 "src/conf/parse_opts.cc" +#line 3162 "src/conf/parse_opts.cc" } -#line 204 "../src/conf/parse_opts.re" +#line 206 "../src/conf/parse_opts.re" opt_input: -#line 3109 "src/conf/parse_opts.cc" +#line 3169 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 'b') goto yy765; - if (yych <= 'c') goto yy767; - if (yych <= 'd') goto yy768; -yy765: + if (yych <= 'b') goto yy780; + if (yych <= 'c') goto yy782; + if (yych <= 'd') goto yy783; +yy780: ++YYCURSOR; -yy766: -#line 208 "../src/conf/parse_opts.re" +yy781: +#line 210 "../src/conf/parse_opts.re" { ERROR("bad argument to option --input " "(expected: default | custom): %s", *argv); } -#line 3124 "src/conf/parse_opts.cc" -yy767: +#line 3184 "src/conf/parse_opts.cc" +yy782: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy769; - goto yy766; -yy768: + if (yych == 'u') goto yy784; + goto yy781; +yy783: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy771; - goto yy766; -yy769: + if (yych == 'e') goto yy786; + goto yy781; +yy784: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy772; -yy770: + if (yych == 's') goto yy787; +yy785: YYCURSOR = YYMARKER; - goto yy766; -yy771: + goto yy781; +yy786: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy773; - goto yy770; -yy772: + if (yych == 'f') goto yy788; + goto yy785; +yy787: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy774; - goto yy770; -yy773: + if (yych == 't') goto yy789; + goto yy785; +yy788: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy775; - goto yy770; -yy774: + if (yych == 'a') goto yy790; + goto yy785; +yy789: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy776; - goto yy770; -yy775: + if (yych == 'o') goto yy791; + goto yy785; +yy790: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy777; - goto yy770; -yy776: + if (yych == 'u') goto yy792; + goto yy785; +yy791: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy778; - goto yy770; -yy777: + if (yych == 'm') goto yy793; + goto yy785; +yy792: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy779; - goto yy770; -yy778: + if (yych == 'l') goto yy794; + goto yy785; +yy793: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy780; - goto yy770; -yy779: + if (yych <= 0x00) goto yy795; + goto yy785; +yy794: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy782; - goto yy770; -yy780: + if (yych == 't') goto yy797; + goto yy785; +yy795: ++YYCURSOR; -#line 213 "../src/conf/parse_opts.re" +#line 215 "../src/conf/parse_opts.re" { opts.set_input_api(INPUT_CUSTOM); goto opt; } -#line 3179 "src/conf/parse_opts.cc" -yy782: +#line 3239 "src/conf/parse_opts.cc" +yy797: yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy770; + if (yych >= 0x01) goto yy785; ++YYCURSOR; -#line 212 "../src/conf/parse_opts.re" +#line 214 "../src/conf/parse_opts.re" { opts.set_input_api(INPUT_DEFAULT); goto opt; } -#line 3186 "src/conf/parse_opts.cc" +#line 3246 "src/conf/parse_opts.cc" } -#line 214 "../src/conf/parse_opts.re" +#line 216 "../src/conf/parse_opts.re" opt_empty_class: -#line 3193 "src/conf/parse_opts.cc" +#line 3253 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych == 'e') goto yy789; - if (yych == 'm') goto yy790; + if (yych == 'e') goto yy804; + if (yych == 'm') goto yy805; ++YYCURSOR; -yy788: -#line 218 "../src/conf/parse_opts.re" +yy803: +#line 220 "../src/conf/parse_opts.re" { ERROR("bad argument to option --empty-class " "(expected: match-empty | match-none | error): %s", *argv); } -#line 3206 "src/conf/parse_opts.cc" -yy789: +#line 3266 "src/conf/parse_opts.cc" +yy804: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy791; - goto yy788; -yy790: + if (yych == 'r') goto yy806; + goto yy803; +yy805: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy793; - goto yy788; -yy791: + if (yych == 'a') goto yy808; + goto yy803; +yy806: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy794; -yy792: + if (yych == 'r') goto yy809; +yy807: YYCURSOR = YYMARKER; - goto yy788; -yy793: + goto yy803; +yy808: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy795; - goto yy792; -yy794: + if (yych == 't') goto yy810; + goto yy807; +yy809: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy796; - goto yy792; -yy795: + if (yych == 'o') goto yy811; + goto yy807; +yy810: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy797; - goto yy792; -yy796: + if (yych == 'c') goto yy812; + goto yy807; +yy811: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy798; - goto yy792; -yy797: + if (yych == 'r') goto yy813; + goto yy807; +yy812: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy799; - goto yy792; -yy798: + if (yych == 'h') goto yy814; + goto yy807; +yy813: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy800; - goto yy792; -yy799: + if (yych <= 0x00) goto yy815; + goto yy807; +yy814: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy802; - goto yy792; -yy800: + if (yych == '-') goto yy817; + goto yy807; +yy815: ++YYCURSOR; -#line 224 "../src/conf/parse_opts.re" +#line 226 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; } -#line 3253 "src/conf/parse_opts.cc" -yy802: +#line 3313 "src/conf/parse_opts.cc" +yy817: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy803; - if (yych == 'n') goto yy804; - goto yy792; -yy803: + if (yych == 'e') goto yy818; + if (yych == 'n') goto yy819; + goto yy807; +yy818: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy805; - goto yy792; -yy804: + if (yych == 'm') goto yy820; + goto yy807; +yy819: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy806; - goto yy792; -yy805: + if (yych == 'o') goto yy821; + goto yy807; +yy820: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy807; - goto yy792; -yy806: + if (yych == 'p') goto yy822; + goto yy807; +yy821: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy808; - goto yy792; -yy807: + if (yych == 'n') goto yy823; + goto yy807; +yy822: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy809; - goto yy792; -yy808: + if (yych == 't') goto yy824; + goto yy807; +yy823: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy810; - goto yy792; -yy809: + if (yych == 'e') goto yy825; + goto yy807; +yy824: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy811; - goto yy792; -yy810: + if (yych == 'y') goto yy826; + goto yy807; +yy825: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy812; - goto yy792; -yy811: + if (yych <= 0x00) goto yy827; + goto yy807; +yy826: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy814; - goto yy792; -yy812: + if (yych <= 0x00) goto yy829; + goto yy807; +yy827: ++YYCURSOR; -#line 223 "../src/conf/parse_opts.re" +#line 225 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; } -#line 3299 "src/conf/parse_opts.cc" -yy814: +#line 3359 "src/conf/parse_opts.cc" +yy829: ++YYCURSOR; -#line 222 "../src/conf/parse_opts.re" +#line 224 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; } -#line 3304 "src/conf/parse_opts.cc" +#line 3364 "src/conf/parse_opts.cc" } -#line 225 "../src/conf/parse_opts.re" +#line 227 "../src/conf/parse_opts.re" opt_dfa_minimization: -#line 3311 "src/conf/parse_opts.cc" +#line 3371 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych == 'm') goto yy820; - if (yych == 't') goto yy821; + if (yych == 'm') goto yy835; + if (yych == 't') goto yy836; ++YYCURSOR; -yy819: -#line 229 "../src/conf/parse_opts.re" +yy834: +#line 231 "../src/conf/parse_opts.re" { ERROR("bad argument to option --dfa-minimization " "(expected: table | moore): %s", *argv); } -#line 3324 "src/conf/parse_opts.cc" -yy820: +#line 3384 "src/conf/parse_opts.cc" +yy835: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy822; - goto yy819; -yy821: + if (yych == 'o') goto yy837; + goto yy834; +yy836: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy824; - goto yy819; -yy822: + if (yych == 'a') goto yy839; + goto yy834; +yy837: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy825; -yy823: + if (yych == 'o') goto yy840; +yy838: YYCURSOR = YYMARKER; - goto yy819; -yy824: + goto yy834; +yy839: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy826; - goto yy823; -yy825: + if (yych == 'b') goto yy841; + goto yy838; +yy840: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy827; - goto yy823; -yy826: + if (yych == 'r') goto yy842; + goto yy838; +yy841: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy828; - goto yy823; -yy827: + if (yych == 'l') goto yy843; + goto yy838; +yy842: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy829; - goto yy823; -yy828: + if (yych == 'e') goto yy844; + goto yy838; +yy843: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy830; - goto yy823; -yy829: + if (yych == 'e') goto yy845; + goto yy838; +yy844: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy831; - goto yy823; -yy830: + if (yych <= 0x00) goto yy846; + goto yy838; +yy845: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy833; - goto yy823; -yy831: + if (yych <= 0x00) goto yy848; + goto yy838; +yy846: ++YYCURSOR; -#line 234 "../src/conf/parse_opts.re" +#line 236 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; } -#line 3371 "src/conf/parse_opts.cc" -yy833: +#line 3431 "src/conf/parse_opts.cc" +yy848: ++YYCURSOR; -#line 233 "../src/conf/parse_opts.re" +#line 235 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; } -#line 3376 "src/conf/parse_opts.cc" +#line 3436 "src/conf/parse_opts.cc" } -#line 235 "../src/conf/parse_opts.re" +#line 237 "../src/conf/parse_opts.re" opt_posix_closure: -#line 3383 "src/conf/parse_opts.cc" +#line 3443 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych == 'g') goto yy839; + if (yych == 'g') goto yy854; ++YYCURSOR; -yy838: -#line 239 "../src/conf/parse_opts.re" +yy853: +#line 241 "../src/conf/parse_opts.re" { ERROR("bad argument to option --posix_closure " "(expected: gor1 | gtop): %s", *argv); } -#line 3395 "src/conf/parse_opts.cc" -yy839: +#line 3455 "src/conf/parse_opts.cc" +yy854: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy840; - if (yych == 't') goto yy842; - goto yy838; -yy840: + if (yych == 'o') goto yy855; + if (yych == 't') goto yy857; + goto yy853; +yy855: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy843; -yy841: + if (yych == 'r') goto yy858; +yy856: YYCURSOR = YYMARKER; - goto yy838; -yy842: + goto yy853; +yy857: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy844; - goto yy841; -yy843: + if (yych == 'o') goto yy859; + goto yy856; +yy858: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '1') goto yy845; - goto yy841; -yy844: + if (yych == '1') goto yy860; + goto yy856; +yy859: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy846; - goto yy841; -yy845: + if (yych == 'p') goto yy861; + goto yy856; +yy860: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy847; - goto yy841; -yy846: + if (yych <= 0x00) goto yy862; + goto yy856; +yy861: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy849; - goto yy841; -yy847: + if (yych <= 0x00) goto yy864; + goto yy856; +yy862: ++YYCURSOR; -#line 243 "../src/conf/parse_opts.re" +#line 245 "../src/conf/parse_opts.re" { opts.set_posix_closure (POSIX_CLOSURE_GOR1); goto opt; } -#line 3431 "src/conf/parse_opts.cc" -yy849: +#line 3491 "src/conf/parse_opts.cc" +yy864: ++YYCURSOR; -#line 244 "../src/conf/parse_opts.re" +#line 246 "../src/conf/parse_opts.re" { opts.set_posix_closure (POSIX_CLOSURE_GTOP); goto opt; } -#line 3436 "src/conf/parse_opts.cc" +#line 3496 "src/conf/parse_opts.cc" } -#line 245 "../src/conf/parse_opts.re" +#line 247 "../src/conf/parse_opts.re" end: diff --git a/re2c/src/adfa/action.h b/re2c/src/adfa/action.h index bf3603d1..95ab3de7 100644 --- a/re2c/src/adfa/action.h +++ b/re2c/src/adfa/action.h @@ -6,7 +6,7 @@ #include "src/code/label.h" #include "src/dfa/tcmd.h" #include "src/util/c99_stdint.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" #include "src/util/uniq_vector.h" namespace re2c diff --git a/re2c/src/adfa/adfa.cc b/re2c/src/adfa/adfa.cc index 150318b6..e642b6f8 100644 --- a/re2c/src/adfa/adfa.cc +++ b/re2c/src/adfa/adfa.cc @@ -9,7 +9,7 @@ #include "src/code/go.h" #include "src/dfa/dfa.h" #include "src/util/allocate.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/adfa/prepare.cc b/re2c/src/adfa/prepare.cc index de5fac10..0b29c0ad 100644 --- a/re2c/src/adfa/prepare.cc +++ b/re2c/src/adfa/prepare.cc @@ -14,7 +14,7 @@ #include "src/dfa/tcmd.h" #include "src/re/rule.h" #include "src/util/allocate.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/ast/scanner.cc b/re2c/src/ast/scanner.cc index c0440970..d639c96a 100644 --- a/re2c/src/ast/scanner.cc +++ b/re2c/src/ast/scanner.cc @@ -2,7 +2,7 @@ #include "src/ast/scanner.h" #include "src/conf/msg.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/code/emit_action.cc b/re2c/src/code/emit_action.cc index e149a250..bf41a867 100644 --- a/re2c/src/code/emit_action.cc +++ b/re2c/src/code/emit_action.cc @@ -20,7 +20,7 @@ #include "src/re/tag.h" #include "src/skeleton/skeleton.h" #include "src/util/string_utils.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/code/go_construct.cc b/re2c/src/code/go_construct.cc index c90d9850..b925150a 100644 --- a/re2c/src/code/go_construct.cc +++ b/re2c/src/code/go_construct.cc @@ -11,7 +11,7 @@ #include "src/conf/opt.h" #include "src/dfa/tcmd.h" #include "src/util/allocate.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/code/input_api.cc b/re2c/src/code/input_api.cc index c06e629d..fe1c6ce7 100644 --- a/re2c/src/code/input_api.cc +++ b/re2c/src/code/input_api.cc @@ -3,7 +3,7 @@ #include "src/code/emit.h" #include "src/code/input_api.h" #include "src/conf/opt.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/conf/opt.h b/re2c/src/conf/opt.h index 8da1ba1d..bb7a06c5 100644 --- a/re2c/src/conf/opt.h +++ b/re2c/src/conf/opt.h @@ -50,6 +50,8 @@ const uint32_t NOEOF = ~0u - 1; CONSTOPT (bool, fFlag, false) \ CONSTOPT (bool, rFlag, false) \ CONSTOPT (bool, FFlag, false) \ + /* include paths */ \ + CONSTOPT (std::vector, incpaths, std::vector()) \ /* debug */ \ CONSTOPT (bool, dump_nfa, false) \ CONSTOPT (bool, dump_dfa_raw, false) \ @@ -57,8 +59,8 @@ const uint32_t NOEOF = ~0u - 1; CONSTOPT (bool, dump_dfa_tagopt, false) \ CONSTOPT (bool, dump_dfa_min, false) \ CONSTOPT (bool, dump_adfa, false) \ - /* include paths */ \ - CONSTOPT (std::vector, incpaths, std::vector()) \ + CONSTOPT (bool, dump_closure_stats, false) \ + /* end */ #define RE2C_MUTOPTS \ /* output files */ \ @@ -152,10 +154,11 @@ const uint32_t NOEOF = ~0u - 1; MUTOPT (bool, startlabel_force, false) \ /* internals */ \ MUTOPT (dfa_minimization_t, dfa_minimization, DFA_MINIMIZATION_MOORE) \ + MUTOPT (posix_closure_t, posix_closure, POSIX_CLOSURE_GOR1) \ MUTOPT (bool, lookahead, true) \ MUTOPT (bool, eager_skip, false) \ MUTOPT (bool, optimize_tags, true) \ - MUTOPT (posix_closure_t, posix_closure, POSIX_CLOSURE_GOR1) + /* end */ struct conopt_t { diff --git a/re2c/src/conf/parse_opts.re b/re2c/src/conf/parse_opts.re index 18215073..d3fd0896 100644 --- a/re2c/src/conf/parse_opts.re +++ b/re2c/src/conf/parse_opts.re @@ -166,12 +166,14 @@ opt_long: "single-pass" end { goto opt; } // deprecated - "dump-nfa" end { globopts.dump_nfa = true; goto opt; } - "dump-dfa-raw" end { globopts.dump_dfa_raw = true; goto opt; } - "dump-dfa-det" end { globopts.dump_dfa_det = true; goto opt; } - "dump-dfa-tagopt" end { globopts.dump_dfa_tagopt = true; goto opt; } - "dump-dfa-min" end { globopts.dump_dfa_min = true; goto opt; } - "dump-adfa" end { globopts.dump_adfa = true; goto opt; } + // debug options + "dump-nfa" end { globopts.dump_nfa = true; goto opt; } + "dump-dfa-raw" end { globopts.dump_dfa_raw = true; goto opt; } + "dump-dfa-det" end { globopts.dump_dfa_det = true; goto opt; } + "dump-dfa-tagopt" end { globopts.dump_dfa_tagopt = true; goto opt; } + "dump-dfa-min" end { globopts.dump_dfa_min = true; goto opt; } + "dump-adfa" end { globopts.dump_adfa = true; goto opt; } + "dump-closure-stats" end { globopts.dump_closure_stats = true; goto opt; } */ opt_output: diff --git a/re2c/src/dfa/cfg/liveanal.cc b/re2c/src/dfa/cfg/liveanal.cc index cf9421a7..f570cf26 100644 --- a/re2c/src/dfa/cfg/liveanal.cc +++ b/re2c/src/dfa/cfg/liveanal.cc @@ -6,7 +6,7 @@ #include "src/dfa/tcmd.h" #include "src/re/rule.h" #include "src/re/tag.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/dfa/cfg/normalize.cc b/re2c/src/dfa/cfg/normalize.cc index 796fc907..bbf2d2fd 100644 --- a/re2c/src/dfa/cfg/normalize.cc +++ b/re2c/src/dfa/cfg/normalize.cc @@ -6,7 +6,7 @@ #include "src/dfa/dfa.h" #include "src/dfa/tcmd.h" #include "src/re/tag.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/dfa/closure_posix.cc b/re2c/src/dfa/closure_posix.cc index 2fa08215..8d520333 100644 --- a/re2c/src/dfa/closure_posix.cc +++ b/re2c/src/dfa/closure_posix.cc @@ -29,11 +29,15 @@ static void cleanup(closure_t &); void closure_posix(determ_context_t &ctx) { + DRESET_CLSTATS(ctx); + switch (ctx.dc_opts->posix_closure) { case POSIX_CLOSURE_GOR1: closure_posix_gor1(ctx); break; case POSIX_CLOSURE_GTOP: closure_posix_gtop(ctx); break; default: DASSERT(false); break; } + + DDUMP_CLSTATS(ctx); } /* @@ -87,8 +91,9 @@ void closure_posix_gor1(determ_context_t &ctx) topsort.pop(); if (q->status != GOR_LINEAR) { - q->status = GOR_TOPSORT; + DINCCOUNT_CLSCANS(ctx); + q->status = GOR_TOPSORT; while ((p = next_admissible_arc(ctx, q)) && p->status != GOR_NOPASS) { p->active = 1; @@ -113,6 +118,8 @@ void closure_posix_gor1(determ_context_t &ctx) linear.pop(); if (q->active) { + DINCCOUNT_CLSCANS(ctx); + q->arcidx = 0; while ((p = next_admissible_arc(ctx, q))) { if (p->status == GOR_NOPASS) { @@ -181,6 +188,8 @@ void closure_posix_gtop(determ_context_t &ctx) } for (; !todo.empty(); ) { + DINCCOUNT_CLSCANS(ctx); + nfa_state_t *q = todo.top(); todo.pop(); q->active = 0; diff --git a/re2c/src/dfa/determinization.cc b/re2c/src/dfa/determinization.cc index c06eef6f..cd3aa0cf 100644 --- a/re2c/src/dfa/determinization.cc +++ b/re2c/src/dfa/determinization.cc @@ -16,7 +16,7 @@ #include "src/nfa/nfa.h" #include "src/re/rule.h" #include "src/re/tag.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" #include "src/util/range.h" @@ -222,6 +222,7 @@ determ_context_t::determ_context_t(const opt_t *opts, Warn &warn , dc_stack_linear() , dc_stack_dfs() , dc_dump(opts) + , dc_clstats() {} diff --git a/re2c/src/dfa/determinization.h b/re2c/src/dfa/determinization.h index 42895e2b..054392d0 100644 --- a/re2c/src/dfa/determinization.h +++ b/re2c/src/dfa/determinization.h @@ -105,13 +105,13 @@ typedef lookup_t kernels_t; struct determ_context_t { // determinization input - const opt_t *dc_opts; // options - Warn &dc_warn; // warnings - const std::string &dc_condname; // the name of current condition (with -c) - const nfa_t &dc_nfa; // TNFA + const opt_t *dc_opts; // options + Warn &dc_warn; // warnings + const std::string &dc_condname; // the name of current condition (with -c) + const nfa_t &dc_nfa; // TNFA // determinization output - dfa_t &dc_dfa; // resulting TDFA + dfa_t &dc_dfa; // resulting TDFA // temporary structures used by determinization allocator_t dc_allocator; @@ -130,7 +130,10 @@ struct determ_context_t std::stack dc_stack_topsort; std::stack dc_stack_linear; std::stack dc_stack_dfs; + + // debug dump_dfa_t dc_dump; + closure_stats_t dc_clstats; determ_context_t(const opt_t *, Warn &, const std::string &, const nfa_t &, dfa_t &); FORBID_COPY(determ_context_t); diff --git a/re2c/src/dfa/dump.cc b/re2c/src/dfa/dump.cc index 098d1d95..9fa708be 100644 --- a/re2c/src/dfa/dump.cc +++ b/re2c/src/dfa/dump.cc @@ -14,7 +14,7 @@ #include "src/nfa/nfa.h" #include "src/re/rule.h" #include "src/re/tag.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { @@ -303,4 +303,26 @@ void dump_tags(const tagver_table_t &tagvertbl, const tag_history_t &taghistory, } } + +#ifdef RE2C_DEBUG + +void reset_clstats(determ_context_t &ctx) +{ + closure_stats_t &cs = ctx.dc_clstats; + cs.nscans = 0; + cs.nprec = 0; + cs.length = 0; +} + +void dump_clstats(const determ_context_t &ctx) +{ + const closure_stats_t &cs = ctx.dc_clstats; + if (ctx.dc_opts->dump_closure_stats) { + fprintf(stderr, "scans: %-10u prec: %-10u length: %-10lu\n" + , cs.nscans, cs.nprec, static_cast(cs.length)); + } +} + +#endif // RE2C_DEBUG + } // namespace re2c diff --git a/re2c/src/dfa/dump.h b/re2c/src/dfa/dump.h index f37c0759..b63d515d 100644 --- a/re2c/src/dfa/dump.h +++ b/re2c/src/dfa/dump.h @@ -12,6 +12,13 @@ struct dfa_t; struct opt_t; struct tcmd_t; +struct closure_stats_t +{ + uint32_t nscans; // number of configuration scans + uint32_t nprec; // number of POSIX comparisons of configurations + size_t length; // total length of compared histories +}; + struct dump_dfa_t { const bool debug; @@ -25,6 +32,29 @@ struct dump_dfa_t void dump_dfa(const dfa_t &dfa); void dump_tcmd(const tcmd_t *p); + +#ifndef RE2C_DEBUG + +#define DRESET_CLSTATS(ctx) +#define DDUMP_CLSTATS(ctx) +#define DINCCOUNT_CLSCANS(ctx) +#define DINCCOUNT_CLPREC(ctx) +#define DINCCOUNT_CLLENGTH(ctx, len) + +#else // RE2C_DEBUG + +#define DRESET_CLSTATS(ctx) reset_clstats(ctx) +#define DDUMP_CLSTATS(ctx) dump_clstats(ctx) +#define DINCCOUNT_CLSCANS(ctx) ++ctx.dc_clstats.nscans +#define DINCCOUNT_CLPREC(ctx) ++ctx.dc_clstats.nprec +#define DINCCOUNT_CLLENGTH(ctx, len) ctx.dc_clstats.length += len + +void reset_clstats(determ_context_t &); +void dump_clstats(const determ_context_t &); + +#endif // RE2C_DEBUG + + } // namespace re2c #endif // _RE2C_DFA_DUMP_ diff --git a/re2c/src/dfa/find_state.cc b/re2c/src/dfa/find_state.cc index bb74443e..10abd136 100644 --- a/re2c/src/dfa/find_state.cc +++ b/re2c/src/dfa/find_state.cc @@ -7,7 +7,7 @@ #include "src/dfa/tcmd.h" #include "src/nfa/nfa.h" #include "src/re/rule.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" #include "src/util/hash32.h" diff --git a/re2c/src/dfa/posix_precedence.cc b/re2c/src/dfa/posix_precedence.cc index e39afc47..b9b49472 100644 --- a/re2c/src/dfa/posix_precedence.cc +++ b/re2c/src/dfa/posix_precedence.cc @@ -2,7 +2,7 @@ #include "src/dfa/determinization.h" #include "src/dfa/tag_history.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c @@ -30,6 +30,9 @@ int32_t precedence(determ_context_t &ctx, reconstruct_history(thist, p1, xl); reconstruct_history(thist, p2, yl); + DINCCOUNT_CLPREC(ctx); + DINCCOUNT_CLLENGTH(ctx, p1.size() + p2.size()); + tag_path_t::const_reverse_iterator i1 = p1.rbegin(), e1 = p1.rend(), j1 = i1, g1, i2 = p2.rbegin(), e2 = p2.rend(), j2 = i2, g2; diff --git a/re2c/src/dfa/tcmd.cc b/re2c/src/dfa/tcmd.cc index 5c6a87f7..a8a1f7f5 100644 --- a/re2c/src/dfa/tcmd.cc +++ b/re2c/src/dfa/tcmd.cc @@ -1,7 +1,7 @@ #include #include "src/dfa/tcmd.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" #include "src/util/hash32.h" namespace re2c diff --git a/re2c/src/re/re.h b/re2c/src/re/re.h index fd577d8b..8fb50f28 100644 --- a/re2c/src/re/re.h +++ b/re2c/src/re/re.h @@ -5,7 +5,7 @@ #include "src/ast/ast.h" #include "src/re/rule.h" #include "src/util/c99_stdint.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" #include "src/util/forbid_copy.h" #include "src/util/range.h" #include "src/util/slab_allocator.h" diff --git a/re2c/src/skeleton/generate_data.cc b/re2c/src/skeleton/generate_data.cc index b82ff700..8db1946f 100644 --- a/re2c/src/skeleton/generate_data.cc +++ b/re2c/src/skeleton/generate_data.cc @@ -16,7 +16,7 @@ #include "src/re/tag.h" #include "src/skeleton/path.h" #include "src/skeleton/skeleton.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" #include "src/util/forbid_copy.h" #include "src/util/u32lim.h" #include "src/util/wrap_iter.h" diff --git a/re2c/src/skeleton/maxpath.cc b/re2c/src/skeleton/maxpath.cc index 455fada9..bf5e2104 100644 --- a/re2c/src/skeleton/maxpath.cc +++ b/re2c/src/skeleton/maxpath.cc @@ -9,7 +9,7 @@ #include "src/conf/msg.h" #include "src/skeleton/skeleton.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/skeleton/skeleton.cc b/re2c/src/skeleton/skeleton.cc index 52529ecb..a3148082 100644 --- a/re2c/src/skeleton/skeleton.cc +++ b/re2c/src/skeleton/skeleton.cc @@ -2,7 +2,7 @@ #include "src/dfa/dfa.h" #include "src/skeleton/skeleton.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/util/debug_assert.h b/re2c/src/util/debug.h similarity index 52% rename from re2c/src/util/debug_assert.h rename to re2c/src/util/debug.h index 0044a9f7..76d7ef6c 100644 --- a/re2c/src/util/debug_assert.h +++ b/re2c/src/util/debug.h @@ -1,15 +1,18 @@ -#ifndef _RE2C_UTIL_DEBUG_ASSERT_ -#define _RE2C_UTIL_DEBUG_ASSERT_ +#ifndef _RE2C_UTIL_DEBUG_ +#define _RE2C_UTIL_DEBUG_ #ifdef RE2C_DEBUG #include + +#define DEBUG(x) x #define DASSERT(x) assert(x) #else // RE2C_DEBUG +#define DEBUG(x) #define DASSERT(x) #endif // RE2C_DEBUG -#endif // _RE2C_UTIL_DEBUG_ASSERT_ +#endif // _RE2C_UTIL_DEBUG_ diff --git a/re2c/src/util/lookup.h b/re2c/src/util/lookup.h index 59ddd935..0d2ccd9a 100644 --- a/re2c/src/util/lookup.h +++ b/re2c/src/util/lookup.h @@ -7,7 +7,7 @@ #include #include -#include "src/util/debug_assert.h" +#include "src/util/debug.h" namespace re2c { diff --git a/re2c/src/util/range.h b/re2c/src/util/range.h index 19155f7d..ba893c7b 100644 --- a/re2c/src/util/range.h +++ b/re2c/src/util/range.h @@ -5,7 +5,7 @@ #include "src/util/c99_stdint.h" #include "src/test/range/test.h" -#include "src/util/debug_assert.h" +#include "src/util/debug.h" #include "src/util/forbid_copy.h" #include "src/util/free_list.h" -- 2.40.0