-/* Generated by re2c 0.16 on Sun Dec 18 12:23:03 2016 */
+/* Generated by re2c 0.16 on Fri Dec 30 11:03:32 2016 */
#line 1 "../src/conf/parse_opts.re"
#include "src/codegen/input_api.h"
#include "src/conf/msg.h"
}
#line 84 "src/conf/parse_opts.cc"
yy4:
- ++YYCURSOR;
- yych = (YYCTYPE)*YYCURSOR;
+ yych = (YYCTYPE)*++YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy4;
}
}
#line 61 "../src/conf/parse_opts.re"
{ goto opt_short; }
-#line 102 "src/conf/parse_opts.cc"
+#line 101 "src/conf/parse_opts.cc"
yy8:
++YYCURSOR;
#line 59 "../src/conf/parse_opts.re"
{ if (!opts.source (*argv)) return EXIT_FAIL; goto opt; }
-#line 107 "src/conf/parse_opts.cc"
+#line 106 "src/conf/parse_opts.cc"
yy10:
++YYCURSOR;
#line 58 "../src/conf/parse_opts.re"
{ if (!opts.source ("<stdin>")) return EXIT_FAIL; goto opt; }
-#line 112 "src/conf/parse_opts.cc"
+#line 111 "src/conf/parse_opts.cc"
yy12:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy16;
#line 62 "../src/conf/parse_opts.re"
{ goto opt_long; }
-#line 118 "src/conf/parse_opts.cc"
+#line 117 "src/conf/parse_opts.cc"
yy14:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
yy15:
#line 66 "../src/conf/parse_opts.re"
{ option = Warn::W; goto opt_warn; }
-#line 131 "src/conf/parse_opts.cc"
+#line 130 "src/conf/parse_opts.cc"
yy16:
++YYCURSOR;
#line 44 "../src/conf/parse_opts.re"
}
goto end;
}
-#line 148 "src/conf/parse_opts.cc"
+#line 147 "src/conf/parse_opts.cc"
yy18:
++YYCURSOR;
#line 64 "../src/conf/parse_opts.re"
{ warn.set_all (); goto opt; }
-#line 153 "src/conf/parse_opts.cc"
+#line 152 "src/conf/parse_opts.cc"
yy20:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy23;
yy27:
#line 67 "../src/conf/parse_opts.re"
{ option = Warn::WNO; goto opt_warn; }
-#line 187 "src/conf/parse_opts.cc"
+#line 186 "src/conf/parse_opts.cc"
yy28:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy30;
++YYCURSOR;
#line 65 "../src/conf/parse_opts.re"
{ warn.set_all_error (); goto opt; }
-#line 209 "src/conf/parse_opts.cc"
+#line 208 "src/conf/parse_opts.cc"
yy34:
++YYCURSOR;
#line 68 "../src/conf/parse_opts.re"
{ option = Warn::WERROR; goto opt_warn; }
-#line 214 "src/conf/parse_opts.cc"
+#line 213 "src/conf/parse_opts.cc"
yy36:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'o') goto yy21;
++YYCURSOR;
#line 69 "../src/conf/parse_opts.re"
{ option = Warn::WNOERROR; goto opt_warn; }
-#line 225 "src/conf/parse_opts.cc"
+#line 224 "src/conf/parse_opts.cc"
}
#line 70 "../src/conf/parse_opts.re"
opt_warn:
-#line 232 "src/conf/parse_opts.cc"
+#line 231 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
error ("bad warning: %s", *argv);
return EXIT_FAIL;
}
-#line 253 "src/conf/parse_opts.cc"
+#line 252 "src/conf/parse_opts.cc"
yy45:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'o') goto yy51;
++YYCURSOR;
#line 83 "../src/conf/parse_opts.re"
{ warn.set (Warn::SWAPPED_RANGE, option); goto opt; }
-#line 682 "src/conf/parse_opts.cc"
+#line 681 "src/conf/parse_opts.cc"
yy153:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy160;
++YYCURSOR;
#line 86 "../src/conf/parse_opts.re"
{ warn.set (Warn::USELESS_ESCAPE, option); goto opt; }
-#line 723 "src/conf/parse_opts.cc"
+#line 722 "src/conf/parse_opts.cc"
yy164:
++YYCURSOR;
#line 79 "../src/conf/parse_opts.re"
{ warn.set (Warn::CONDITION_ORDER, option); goto opt; }
-#line 728 "src/conf/parse_opts.cc"
+#line 727 "src/conf/parse_opts.cc"
yy166:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'c') goto yy171;
++YYCURSOR;
#line 85 "../src/conf/parse_opts.re"
{ warn.set (Warn::UNREACHABLE_RULES, option); goto opt; }
-#line 789 "src/conf/parse_opts.cc"
+#line 788 "src/conf/parse_opts.cc"
yy182:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 's') goto yy187;
++YYCURSOR;
#line 81 "../src/conf/parse_opts.re"
{ warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; }
-#line 798 "src/conf/parse_opts.cc"
+#line 797 "src/conf/parse_opts.cc"
yy185:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'g') goto yy188;
++YYCURSOR;
#line 80 "../src/conf/parse_opts.re"
{ warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; }
-#line 835 "src/conf/parse_opts.cc"
+#line 834 "src/conf/parse_opts.cc"
yy195:
++YYCURSOR;
#line 82 "../src/conf/parse_opts.re"
{ warn.set (Warn::NONDETERMINISTIC_TAGS, option); goto opt; }
-#line 840 "src/conf/parse_opts.cc"
+#line 839 "src/conf/parse_opts.cc"
yy197:
yych = (YYCTYPE)*++YYCURSOR;
if (yych >= 0x01) goto yy52;
++YYCURSOR;
#line 84 "../src/conf/parse_opts.re"
{ warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; }
-#line 847 "src/conf/parse_opts.cc"
+#line 846 "src/conf/parse_opts.cc"
}
#line 87 "../src/conf/parse_opts.re"
opt_short:
-#line 854 "src/conf/parse_opts.cc"
+#line 853 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
++YYCURSOR;
#line 96 "../src/conf/parse_opts.re"
{ goto opt; }
-#line 929 "src/conf/parse_opts.cc"
+#line 928 "src/conf/parse_opts.cc"
yy204:
++YYCURSOR;
#line 92 "../src/conf/parse_opts.re"
error ("bad short option: %s", *argv);
return EXIT_FAIL;
}
-#line 937 "src/conf/parse_opts.cc"
+#line 936 "src/conf/parse_opts.cc"
yy206:
++YYCURSOR;
#line 121 "../src/conf/parse_opts.re"
{ goto opt_short; }
-#line 942 "src/conf/parse_opts.cc"
+#line 941 "src/conf/parse_opts.cc"
yy208:
++YYCURSOR;
#line 116 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 947 "src/conf/parse_opts.cc"
+#line 946 "src/conf/parse_opts.cc"
yy210:
++YYCURSOR;
#line 97 "../src/conf/parse_opts.re"
{ usage (); return EXIT_OK; }
-#line 952 "src/conf/parse_opts.cc"
+#line 951 "src/conf/parse_opts.cc"
yy212:
++YYCURSOR;
#line 103 "../src/conf/parse_opts.re"
{ opts.set_target (opt_t::DOT); goto opt_short; }
-#line 957 "src/conf/parse_opts.cc"
+#line 956 "src/conf/parse_opts.cc"
yy214:
++YYCURSOR;
#line 105 "../src/conf/parse_opts.re"
{ opts.set_FFlag (true); goto opt_short; }
-#line 962 "src/conf/parse_opts.cc"
+#line 961 "src/conf/parse_opts.cc"
yy216:
++YYCURSOR;
#line 110 "../src/conf/parse_opts.re"
{ opts.set_target (opt_t::SKELETON); goto opt_short; }
-#line 967 "src/conf/parse_opts.cc"
+#line 966 "src/conf/parse_opts.cc"
yy218:
++YYCURSOR;
#line 111 "../src/conf/parse_opts.re"
{ opts.set_tags (true); goto opt_short; }
-#line 972 "src/conf/parse_opts.cc"
+#line 971 "src/conf/parse_opts.cc"
yy220:
++YYCURSOR;
#line 99 "../src/conf/parse_opts.re"
{ vernum (); return EXIT_OK; }
-#line 977 "src/conf/parse_opts.cc"
+#line 976 "src/conf/parse_opts.cc"
yy222:
++YYCURSOR;
#line 100 "../src/conf/parse_opts.re"
{ opts.set_bFlag (true); goto opt_short; }
-#line 982 "src/conf/parse_opts.cc"
+#line 981 "src/conf/parse_opts.cc"
yy224:
++YYCURSOR;
#line 101 "../src/conf/parse_opts.re"
{ opts.set_cFlag (true); goto opt_short; }
-#line 987 "src/conf/parse_opts.cc"
+#line 986 "src/conf/parse_opts.cc"
yy226:
++YYCURSOR;
#line 102 "../src/conf/parse_opts.re"
{ opts.set_dFlag (true); goto opt_short; }
-#line 992 "src/conf/parse_opts.cc"
+#line 991 "src/conf/parse_opts.cc"
yy228:
++YYCURSOR;
#line 112 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 997 "src/conf/parse_opts.cc"
+#line 996 "src/conf/parse_opts.cc"
yy230:
++YYCURSOR;
#line 104 "../src/conf/parse_opts.re"
{ opts.set_fFlag (true); goto opt_short; }
-#line 1002 "src/conf/parse_opts.cc"
+#line 1001 "src/conf/parse_opts.cc"
yy232:
++YYCURSOR;
#line 106 "../src/conf/parse_opts.re"
{ opts.set_gFlag (true); goto opt_short; }
-#line 1007 "src/conf/parse_opts.cc"
+#line 1006 "src/conf/parse_opts.cc"
yy234:
++YYCURSOR;
#line 107 "../src/conf/parse_opts.re"
{ opts.set_iFlag (true); goto opt_short; }
-#line 1012 "src/conf/parse_opts.cc"
+#line 1011 "src/conf/parse_opts.cc"
yy236:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy252;
#line 118 "../src/conf/parse_opts.re"
{ *argv = YYCURSOR; goto opt_output; }
-#line 1018 "src/conf/parse_opts.cc"
+#line 1017 "src/conf/parse_opts.cc"
yy238:
++YYCURSOR;
#line 108 "../src/conf/parse_opts.re"
{ opts.set_rFlag (true); goto opt_short; }
-#line 1023 "src/conf/parse_opts.cc"
+#line 1022 "src/conf/parse_opts.cc"
yy240:
++YYCURSOR;
#line 109 "../src/conf/parse_opts.re"
{ opts.set_sFlag (true); goto opt_short; }
-#line 1028 "src/conf/parse_opts.cc"
+#line 1027 "src/conf/parse_opts.cc"
yy242:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy254;
#line 120 "../src/conf/parse_opts.re"
{ *argv = YYCURSOR; goto opt_header; }
-#line 1034 "src/conf/parse_opts.cc"
+#line 1033 "src/conf/parse_opts.cc"
yy244:
++YYCURSOR;
#line 113 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 1039 "src/conf/parse_opts.cc"
+#line 1038 "src/conf/parse_opts.cc"
yy246:
++YYCURSOR;
#line 98 "../src/conf/parse_opts.re"
{ version (); return EXIT_OK; }
-#line 1044 "src/conf/parse_opts.cc"
+#line 1043 "src/conf/parse_opts.cc"
yy248:
++YYCURSOR;
#line 114 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 1049 "src/conf/parse_opts.cc"
+#line 1048 "src/conf/parse_opts.cc"
yy250:
++YYCURSOR;
#line 115 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 1054 "src/conf/parse_opts.cc"
+#line 1053 "src/conf/parse_opts.cc"
yy252:
++YYCURSOR;
#line 117 "../src/conf/parse_opts.re"
{ if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
-#line 1059 "src/conf/parse_opts.cc"
+#line 1058 "src/conf/parse_opts.cc"
yy254:
++YYCURSOR;
#line 119 "../src/conf/parse_opts.re"
{ if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
-#line 1064 "src/conf/parse_opts.cc"
+#line 1063 "src/conf/parse_opts.cc"
}
#line 122 "../src/conf/parse_opts.re"
opt_long:
-#line 1071 "src/conf/parse_opts.cc"
+#line 1070 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
error ("bad long option: %s", *argv);
return EXIT_FAIL;
}
-#line 1101 "src/conf/parse_opts.cc"
+#line 1100 "src/conf/parse_opts.cc"
yy260:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'i') goto yy275;
++YYCURSOR;
#line 151 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1436 "src/conf/parse_opts.cc"
+#line 1435 "src/conf/parse_opts.cc"
yy337:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '-') goto yy367;
++YYCURSOR;
#line 131 "../src/conf/parse_opts.re"
{ usage (); return EXIT_OK; }
-#line 1579 "src/conf/parse_opts.cc"
+#line 1578 "src/conf/parse_opts.cc"
yy373:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy405;
++YYCURSOR;
#line 149 "../src/conf/parse_opts.re"
{ opts.set_tags (true); goto opt; }
-#line 1632 "src/conf/parse_opts.cc"
+#line 1631 "src/conf/parse_opts.cc"
yy387:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'h') goto yy418;
++YYCURSOR;
#line 159 "../src/conf/parse_opts.re"
{ goto opt_input; }
-#line 1709 "src/conf/parse_opts.cc"
+#line 1708 "src/conf/parse_opts.cc"
yy407:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '-') goto yy437;
++YYCURSOR;
#line 155 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1770 "src/conf/parse_opts.cc"
+#line 1769 "src/conf/parse_opts.cc"
yy423:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy453;
++YYCURSOR;
#line 156 "../src/conf/parse_opts.re"
{ if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
-#line 1852 "src/conf/parse_opts.cc"
+#line 1851 "src/conf/parse_opts.cc"
yy444:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy474;
++YYCURSOR;
#line 154 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1885 "src/conf/parse_opts.cc"
+#line 1884 "src/conf/parse_opts.cc"
yy453:
++YYCURSOR;
#line 133 "../src/conf/parse_opts.re"
{ vernum (); return EXIT_OK; }
-#line 1890 "src/conf/parse_opts.cc"
+#line 1889 "src/conf/parse_opts.cc"
yy455:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy482;
++YYCURSOR;
#line 152 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1995 "src/conf/parse_opts.cc"
+#line 1994 "src/conf/parse_opts.cc"
yy482:
++YYCURSOR;
#line 132 "../src/conf/parse_opts.re"
{ version (); return EXIT_OK; }
-#line 2000 "src/conf/parse_opts.cc"
+#line 1999 "src/conf/parse_opts.cc"
yy484:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy511;
++YYCURSOR;
#line 137 "../src/conf/parse_opts.re"
{ opts.set_target (opt_t::DOT); goto opt; }
-#line 2046 "src/conf/parse_opts.cc"
+#line 2045 "src/conf/parse_opts.cc"
yy495:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 's') goto yy524;
++YYCURSOR;
#line 142 "../src/conf/parse_opts.re"
{ opts.set_rFlag (true); goto opt; }
-#line 2083 "src/conf/parse_opts.cc"
+#line 2082 "src/conf/parse_opts.cc"
yy505:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 's') goto yy532;
++YYCURSOR;
#line 148 "../src/conf/parse_opts.re"
{ opts.set_target (opt_t::SKELETON); goto opt; }
-#line 2092 "src/conf/parse_opts.cc"
+#line 2091 "src/conf/parse_opts.cc"
yy508:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'd') goto yy533;
++YYCURSOR;
#line 168 "../src/conf/parse_opts.re"
{ opts.set_dump_adfa(true); goto opt; }
-#line 2137 "src/conf/parse_opts.cc"
+#line 2136 "src/conf/parse_opts.cc"
yy520:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy543;
++YYCURSOR;
#line 143 "../src/conf/parse_opts.re"
{ opts.set_sFlag (true); goto opt; }
-#line 2262 "src/conf/parse_opts.cc"
+#line 2261 "src/conf/parse_opts.cc"
yy552:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'f') goto yy579;
++YYCURSOR;
#line 145 "../src/conf/parse_opts.re"
{ opts.set_version (false); goto opt; }
-#line 2275 "src/conf/parse_opts.cc"
+#line 2274 "src/conf/parse_opts.cc"
yy556:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'v') goto yy581;
++YYCURSOR;
#line 153 "../src/conf/parse_opts.re"
{ if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 2300 "src/conf/parse_opts.cc"
+#line 2299 "src/conf/parse_opts.cc"
yy563:
++YYCURSOR;
#line 134 "../src/conf/parse_opts.re"
{ opts.set_bFlag (true); goto opt; }
-#line 2305 "src/conf/parse_opts.cc"
+#line 2304 "src/conf/parse_opts.cc"
yy565:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 't') goto yy588;
++YYCURSOR;
#line 160 "../src/conf/parse_opts.re"
{ goto opt_empty_class; }
-#line 2346 "src/conf/parse_opts.cc"
+#line 2345 "src/conf/parse_opts.cc"
yy576:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'i') goto yy601;
++YYCURSOR;
#line 139 "../src/conf/parse_opts.re"
{ opts.set_FFlag (true); goto opt; }
-#line 2355 "src/conf/parse_opts.cc"
+#line 2354 "src/conf/parse_opts.cc"
yy579:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'o') goto yy602;
++YYCURSOR;
#line 162 "../src/conf/parse_opts.re"
{ goto opt; }
-#line 2372 "src/conf/parse_opts.cc"
+#line 2371 "src/conf/parse_opts.cc"
yy584:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'i') goto yy605;
++YYCURSOR;
#line 157 "../src/conf/parse_opts.re"
{ if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
-#line 2385 "src/conf/parse_opts.cc"
+#line 2384 "src/conf/parse_opts.cc"
yy588:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'i') goto yy607;
++YYCURSOR;
#line 136 "../src/conf/parse_opts.re"
{ opts.set_dFlag (true); goto opt; }
-#line 2402 "src/conf/parse_opts.cc"
+#line 2401 "src/conf/parse_opts.cc"
yy593:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'i') goto yy611;
++YYCURSOR;
#line 165 "../src/conf/parse_opts.re"
{ opts.set_dump_dfa_det(true); goto opt; }
-#line 2411 "src/conf/parse_opts.cc"
+#line 2410 "src/conf/parse_opts.cc"
yy596:
++YYCURSOR;
#line 167 "../src/conf/parse_opts.re"
{ opts.set_dump_dfa_min(true); goto opt; }
-#line 2416 "src/conf/parse_opts.cc"
+#line 2415 "src/conf/parse_opts.cc"
yy598:
++YYCURSOR;
#line 164 "../src/conf/parse_opts.re"
{ opts.set_dump_dfa_raw(true); goto opt; }
-#line 2421 "src/conf/parse_opts.cc"
+#line 2420 "src/conf/parse_opts.cc"
yy600:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'p') goto yy612;
++YYCURSOR;
#line 147 "../src/conf/parse_opts.re"
{ opts.set_bCaseInverted (true); goto opt; }
-#line 2458 "src/conf/parse_opts.cc"
+#line 2457 "src/conf/parse_opts.cc"
yy610:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy621;
++YYCURSOR;
#line 141 "../src/conf/parse_opts.re"
{ opts.set_iFlag (true); goto opt; }
-#line 2479 "src/conf/parse_opts.cc"
+#line 2478 "src/conf/parse_opts.cc"
yy616:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'd') goto yy626;
++YYCURSOR;
#line 140 "../src/conf/parse_opts.re"
{ opts.set_gFlag (true); goto opt; }
-#line 2504 "src/conf/parse_opts.cc"
+#line 2503 "src/conf/parse_opts.cc"
yy623:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'n') goto yy632;
++YYCURSOR;
#line 138 "../src/conf/parse_opts.re"
{ opts.set_fFlag (true); goto opt; }
-#line 2533 "src/conf/parse_opts.cc"
+#line 2532 "src/conf/parse_opts.cc"
yy631:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy640;
++YYCURSOR;
#line 166 "../src/conf/parse_opts.re"
{ opts.set_dump_dfa_tagopt(true); goto opt; }
-#line 2546 "src/conf/parse_opts.cc"
+#line 2545 "src/conf/parse_opts.cc"
yy635:
++YYCURSOR;
#line 158 "../src/conf/parse_opts.re"
{ goto opt_encoding_policy; }
-#line 2551 "src/conf/parse_opts.cc"
+#line 2550 "src/conf/parse_opts.cc"
yy637:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 't') goto yy644;
++YYCURSOR;
#line 146 "../src/conf/parse_opts.re"
{ opts.set_bCaseInsensitive (true); goto opt; }
-#line 2568 "src/conf/parse_opts.cc"
+#line 2567 "src/conf/parse_opts.cc"
yy642:
++YYCURSOR;
#line 161 "../src/conf/parse_opts.re"
{ goto opt_dfa_minimization; }
-#line 2573 "src/conf/parse_opts.cc"
+#line 2572 "src/conf/parse_opts.cc"
yy644:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy648;
++YYCURSOR;
#line 135 "../src/conf/parse_opts.re"
{ opts.set_cFlag (true); goto opt; }
-#line 2586 "src/conf/parse_opts.cc"
+#line 2585 "src/conf/parse_opts.cc"
yy648:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 0x00) goto yy650;
++YYCURSOR;
#line 144 "../src/conf/parse_opts.re"
{ opts.set_bNoGenerationDate (true); goto opt; }
-#line 2599 "src/conf/parse_opts.cc"
+#line 2598 "src/conf/parse_opts.cc"
yy652:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'n') goto yy276;
++YYCURSOR;
#line 150 "../src/conf/parse_opts.re"
{ opts.set_bijective_mapping(false); goto opt; }
-#line 2610 "src/conf/parse_opts.cc"
+#line 2609 "src/conf/parse_opts.cc"
}
#line 169 "../src/conf/parse_opts.re"
opt_output:
-#line 2617 "src/conf/parse_opts.cc"
+#line 2616 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
error ("bad argument to option -o, --output: %s", *argv);
return EXIT_FAIL;
}
-#line 2664 "src/conf/parse_opts.cc"
+#line 2663 "src/conf/parse_opts.cc"
yy661:
- ++YYCURSOR;
- yych = (YYCTYPE)*YYCURSOR;
+ yych = (YYCTYPE)*++YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy661;
}
++YYCURSOR;
#line 178 "../src/conf/parse_opts.re"
{ opts.set_output_file(*argv); goto opt; }
-#line 2674 "src/conf/parse_opts.cc"
+#line 2672 "src/conf/parse_opts.cc"
}
#line 179 "../src/conf/parse_opts.re"
opt_header:
-#line 2681 "src/conf/parse_opts.cc"
+#line 2679 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
error ("bad argument to option -t, --type-header: %s", *argv);
return EXIT_FAIL;
}
-#line 2728 "src/conf/parse_opts.cc"
+#line 2726 "src/conf/parse_opts.cc"
yy669:
- ++YYCURSOR;
- yych = (YYCTYPE)*YYCURSOR;
+ yych = (YYCTYPE)*++YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy669;
}
++YYCURSOR;
#line 188 "../src/conf/parse_opts.re"
{ opts.set_header_file (*argv); goto opt; }
-#line 2738 "src/conf/parse_opts.cc"
+#line 2735 "src/conf/parse_opts.cc"
}
#line 189 "../src/conf/parse_opts.re"
return EXIT_FAIL;
}
-#line 2750 "src/conf/parse_opts.cc"
+#line 2747 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv);
return EXIT_FAIL;
}
-#line 2767 "src/conf/parse_opts.cc"
+#line 2764 "src/conf/parse_opts.cc"
yy677:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'a') goto yy680;
++YYCURSOR;
#line 205 "../src/conf/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; }
-#line 2822 "src/conf/parse_opts.cc"
+#line 2819 "src/conf/parse_opts.cc"
yy692:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy694;
++YYCURSOR;
#line 203 "../src/conf/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; }
-#line 2843 "src/conf/parse_opts.cc"
+#line 2840 "src/conf/parse_opts.cc"
yy698:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'u') goto yy681;
++YYCURSOR;
#line 204 "../src/conf/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; }
-#line 2856 "src/conf/parse_opts.cc"
+#line 2853 "src/conf/parse_opts.cc"
}
#line 206 "../src/conf/parse_opts.re"
return EXIT_FAIL;
}
-#line 2868 "src/conf/parse_opts.cc"
+#line 2865 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
error ("bad argument to option --input (expected: default | custom): %s", *argv);
return EXIT_FAIL;
}
-#line 2883 "src/conf/parse_opts.cc"
+#line 2880 "src/conf/parse_opts.cc"
yy708:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'u') goto yy710;
yy721:
++YYCURSOR;
#line 221 "../src/conf/parse_opts.re"
- { opts.set_input_api (InputAPI::CUSTOM); goto opt; }
-#line 2938 "src/conf/parse_opts.cc"
+ { opts.set_input_api(INPUT_CUSTOM); goto opt; }
+#line 2935 "src/conf/parse_opts.cc"
yy723:
yych = (YYCTYPE)*++YYCURSOR;
if (yych >= 0x01) goto yy711;
++YYCURSOR;
#line 220 "../src/conf/parse_opts.re"
- { opts.set_input_api (InputAPI::DEFAULT); goto opt; }
-#line 2945 "src/conf/parse_opts.cc"
+ { opts.set_input_api(INPUT_DEFAULT); goto opt; }
+#line 2942 "src/conf/parse_opts.cc"
}
#line 222 "../src/conf/parse_opts.re"
return EXIT_FAIL;
}
-#line 2957 "src/conf/parse_opts.cc"
+#line 2954 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv);
return EXIT_FAIL;
}
-#line 2970 "src/conf/parse_opts.cc"
+#line 2967 "src/conf/parse_opts.cc"
yy730:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'r') goto yy732;
++YYCURSOR;
#line 238 "../src/conf/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; }
-#line 3017 "src/conf/parse_opts.cc"
+#line 3014 "src/conf/parse_opts.cc"
yy743:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy744;
++YYCURSOR;
#line 237 "../src/conf/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; }
-#line 3063 "src/conf/parse_opts.cc"
+#line 3060 "src/conf/parse_opts.cc"
yy755:
++YYCURSOR;
#line 236 "../src/conf/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; }
-#line 3068 "src/conf/parse_opts.cc"
+#line 3065 "src/conf/parse_opts.cc"
}
#line 239 "../src/conf/parse_opts.re"
return EXIT_FAIL;
}
-#line 3080 "src/conf/parse_opts.cc"
+#line 3077 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
error ("bad argument to option --dfa-minimization (expected: table | moore): %s", *argv);
return EXIT_FAIL;
}
-#line 3093 "src/conf/parse_opts.cc"
+#line 3090 "src/conf/parse_opts.cc"
yy761:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'o') goto yy763;
++YYCURSOR;
#line 254 "../src/conf/parse_opts.re"
{ opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; }
-#line 3140 "src/conf/parse_opts.cc"
+#line 3137 "src/conf/parse_opts.cc"
yy774:
++YYCURSOR;
#line 253 "../src/conf/parse_opts.re"
{ opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; }
-#line 3145 "src/conf/parse_opts.cc"
+#line 3142 "src/conf/parse_opts.cc"
}
#line 255 "../src/conf/parse_opts.re"
-/* Generated by re2c 0.16 on Sun Dec 18 11:55:22 2016 */
+/* Generated by re2c 0.16 on Fri Dec 30 11:03:32 2016 */
#line 1 "../src/parse/lex_conf.re"
#include "src/util/c99_stdint.h"
#include <string>
yy840:
++cur;
#line 192 "../src/parse/lex_conf.re"
- { opts.set_input_api(InputAPI::CUSTOM); goto end; }
+ { opts.set_input_api(INPUT_CUSTOM); goto end; }
#line 3473 "src/parse/lex_conf.cc"
yy842:
yych = (unsigned char)*++cur;
if (yych != 't') goto yy832;
++cur;
#line 191 "../src/parse/lex_conf.re"
- { opts.set_input_api(InputAPI::DEFAULT); goto end; }
+ { opts.set_input_api(INPUT_DEFAULT); goto end; }
#line 3480 "src/parse/lex_conf.cc"
}
#line 193 "../src/parse/lex_conf.re"
class label_t;
-static void need(OutputFile &o, uint32_t ind, size_t some);
-static void emit_match(OutputFile &o, uint32_t ind, const State *s);
-static void emit_initial(OutputFile &o, uint32_t ind, const State *s, const std::set<label_t> &used_labels, bool save_yyaccept);
-static void emit_save(OutputFile &o, uint32_t ind, const State *s, bool save_yyaccept);
-static void emit_accept_binary(OutputFile &o, uint32_t ind, const DFA &dfa, const State *s, size_t l, size_t r);
-static void emit_accept(OutputFile &o, uint32_t ind, const DFA &dfa, const State *s);
-static void emit_rule(OutputFile &o, uint32_t ind, const DFA &dfa, size_t rule_idx);
-static void gen_goto(code_lines_t &code, const State *to, const DFA &dfa, tcid_t tcid, Opt &opts);
-static void gen_fintags(OutputFile &o, uint32_t ind, const DFA &dfa, const Rule &rule);
-static bool endstate(const State *s);
+static void need (OutputFile &o, uint32_t ind, size_t some);
+static void emit_accept_binary (OutputFile &o, uint32_t ind, const DFA &dfa, const accept_t &acc, size_t l, size_t r);
+static void emit_accept (OutputFile &o, uint32_t ind, const DFA &dfa, const accept_t &acc);
+static void emit_rule (OutputFile &o, uint32_t ind, const DFA &dfa, size_t rule_idx);
+static void gen_fintags (OutputFile &o, uint32_t ind, const DFA &dfa, const Rule &rule);
+static void gen_goto (code_lines_t &code, const State *to, const DFA &dfa, tcid_t tcid, Opt &opts);
+static bool endstate (const State *s);
void emit_action(OutputFile &o, uint32_t ind, const DFA &dfa,
const State *s, const std::set<label_t> &used_labels)
-{
- const bool save_yyaccept = dfa.accepts.size() > 1;
- switch (s->action.type) {
- case Action::MATCH:
- emit_match(o, ind, s);
- break;
- case Action::INITIAL:
- emit_initial(o, ind, s, used_labels, save_yyaccept);
- break;
- case Action::SAVE:
- emit_save(o, ind, s, save_yyaccept);
- break;
- case Action::MOVE:
- break;
- case Action::ACCEPT:
- emit_accept(o, ind, dfa, s);
- break;
- case Action::RULE:
- emit_rule(o, ind, dfa, s->action.info.rule);
- break;
- }
-}
-
-void emit_match(OutputFile &o, uint32_t ind, const State *s)
{
Opt &opts = o.opts;
- if (s->fill != 0) {
- o.wstring(opts->input_api.stmt_skip(ind, opts));
+ switch (s->action.type) {
+ case Action::MATCH:
+ o.wdelay_skip(ind, true);
need(o, ind, s->fill);
- o.wstring(opts->input_api.stmt_peek(ind, opts));
- } else if (endstate(s)) {
- o.wstring(opts->input_api.stmt_skip(ind, opts));
- } else {
- o.wstring(opts->input_api.stmt_skip_peek(ind, opts));
- }
-}
-
-void emit_initial(OutputFile &o, uint32_t ind, const State *s,
- const std::set<label_t> &used_labels, bool save_yyaccept)
-{
- Opt &opts = o.opts;
- const Initial &init = *s->action.info.initial;
- const label_t label = init.label;
- const size_t save = init.save;
- const bool backup = save != Initial::NOSAVE;
-
- if (used_labels.count(s->label)) {
- if (save_yyaccept && backup) {
- o.wind(ind).wstring(opts->yyaccept).ws(" = ")
- .wu64(save).ws(";\n");
+ o.wdelay_peek(ind, !endstate(s));
+ break;
+ case Action::INITIAL: {
+ const Initial &init = *s->action.info.initial;
+ const bool
+ backup = init.save != Initial::NOSAVE,
+ ul1 = used_labels.count(s->label);
+ if (ul1 && dfa.accepts.size() > 1 && backup) {
+ o.wind(ind).wstring(opts->yyaccept).ws(" = ").wu64(init.save).ws(";\n");
}
- o.wstring(opts->input_api.stmt_skip(ind, opts));
- }
-
- if (used_labels.count(label)) {
- o.wstring(opts->labelPrefix).wlabel(label).ws(":\n");
- }
-
- if (opts->dFlag) {
- o.wind(ind).wstring(opts->yydebug).ws("(")
- .wlabel(label).ws(", *")
- .wstring(opts->yycursor).ws(");\n");
- }
-
- if (endstate(s)) return;
-
- need(o, ind, s->fill);
- if (backup) {
- o.wstring(opts->input_api.stmt_backup_peek(ind, opts));
- } else {
- o.wstring(opts->input_api.stmt_peek(ind, opts));
- }
-}
-
-void emit_save(OutputFile &o, uint32_t ind, const State *const s,
- bool save_yyaccept)
-{
- Opt &opts = o.opts;
-
- if (save_yyaccept) {
- o.wind(ind).wstring(opts->yyaccept).ws(" = ")
- .wu64(s->action.info.save).ws(";\n");
+ o.wdelay_skip(ind, ul1);
+ if (used_labels.count(init.label)) {
+ o.wstring(opts->labelPrefix).wlabel(init.label).wstring(":\n");
+ }
+ if (opts->dFlag) {
+ o.wind(ind).wstring(opts->yydebug).ws("(").wlabel(init.label)
+ .ws(", *").wstring(opts->yycursor).ws(");\n");
+ }
+ need(o, ind, s->fill);
+ o.wdelay_backup(ind, backup);
+ o.wdelay_peek(ind, !endstate(s));
+ break;
}
-
- if (s->fill != 0) {
- o.wstring(opts->input_api.stmt_skip_backup(ind, opts));
+ case Action::SAVE:
+ if (dfa.accepts.size() > 1) {
+ o.wind(ind).wstring(opts->yyaccept).ws(" = ").wu64(s->action.info.save).ws(";\n");
+ }
+ o.wdelay_skip(ind, true);
+ o.wdelay_backup(ind, true);
need(o, ind, s->fill);
- o.wstring(opts->input_api.stmt_peek(ind, opts));
- } else {
- o.wstring(opts->input_api.stmt_skip_backup_peek(ind, opts));
+ o.wdelay_peek(ind, true);
+ break;
+ case Action::MOVE:
+ break;
+ case Action::ACCEPT:
+ emit_accept(o, ind, dfa, *s->action.info.accepts);
+ break;
+ case Action::RULE:
+ emit_rule(o, ind, dfa, s->action.info.rule);
+ break;
}
}
void emit_accept_binary(OutputFile &o, uint32_t ind, const DFA &dfa,
- const State *s, size_t l, size_t r)
+ const accept_t &acc, size_t l, size_t r)
{
Opt &opts = o.opts;
if (l < r) {
const size_t m = (l + r) >> 1;
o.wind(ind).ws("if (").wstring(opts->yyaccept)
.ws(r == l+1 ? " == " : " <= ").wu64(m).ws(") {\n");
- emit_accept_binary (o, ++ind, dfa, s, l, m);
+ emit_accept_binary (o, ++ind, dfa, acc, l, m);
o.wind(--ind).ws("} else {\n");
- emit_accept_binary (o, ++ind, dfa, s, m + 1, r);
+ emit_accept_binary (o, ++ind, dfa, acc, m + 1, r);
o.wind(--ind).ws("}\n");
} else {
- const accept_t &acc = *s->action.info.accepts;
gen_goto_plain(o, ind, acc[l].first, dfa, acc[l].second);
}
}
-void emit_accept(OutputFile &o, uint32_t ind, const DFA &dfa, const State *s)
+void emit_accept(OutputFile &o, uint32_t ind, const DFA &dfa, const accept_t &acc)
{
Opt &opts = o.opts;
- const accept_t &acc = *s->action.info.accepts;
const size_t nacc = acc.size();
- if (nacc == 0) {
- return;
- }
+ if (nacc == 0) return;
- o.wstring(opts->input_api.stmt_restore(ind, opts));
+ o.wstring(output_restore(ind, opts));
// only one possible 'yyaccept' value: unconditional jump
if (nacc == 1) {
// nested ifs
if (opts->sFlag || nacc == 2) {
- emit_accept_binary(o, ind, dfa, s, 0, nacc - 1);
+ emit_accept_binary(o, ind, dfa, acc, 0, nacc - 1);
return;
}
void need(OutputFile &o, uint32_t ind, size_t some)
{
- assert(some > 0);
+ if (some == 0) return;
Opt &opts = o.opts;
std::string s;
if (opts->fill_use) {
o.wind(ind);
if (opts->fill_check) {
- o.ws("if (").wstring(opts->input_api.expr_lessthan(some, opts)).ws(") ");
+ o.ws("if (").wstring(output_expr_lessthan(some, opts)).ws(") ");
}
strrreplace(s = opts->fill, opts->fill_arg, some);
o.wstring(s);
void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, Opt &opts)
{
- const bool generic = opts->input_api.type() == InputAPI::CUSTOM;
+ const bool generic = opts->input_api == INPUT_CUSTOM;
const std::string
&prefix = opts->tags_prefix,
&expression = opts->tags_expression;
void gen_fintags(OutputFile &o, uint32_t ind, const DFA &dfa, const Rule &rule)
{
Opt &opts = o.opts;
- const bool generic = opts->input_api.type() == InputAPI::CUSTOM;
+ const bool generic = opts->input_api == INPUT_CUSTOM;
const std::string
&prefix = opts->tags_prefix,
&expression = opts->tags_expression;
}
if (opts->dFlag && (s->action.type != Action::INITIAL))
{
- o.wind(ind).wstring(opts->yydebug).ws("(").wlabel(s->label).ws(", ").wstring(opts->input_api.expr_peek(opts)).ws(");\n");
+ o.wind(ind).wstring(opts->yydebug).ws("(").wlabel(s->label).ws(", ").wstring(output_expr_peek(opts)).ws(");\n");
}
}
namespace re2c
{
-InputAPI::InputAPI ()
- : type_ (DEFAULT)
-{}
-
-InputAPI::type_t InputAPI::type () const
+std::string output_expr_peek(Opt &opts)
{
- return type_;
+ return opts->input_api == INPUT_DEFAULT
+ ? "*" + opts->yycursor
+ : opts->yypeek + " ()";
}
-void InputAPI::set (type_t t)
+std::string output_restore(uint32_t ind, Opt &opts)
{
- type_ = t;
+ std::string s = opts->input_api == INPUT_DEFAULT
+ ? opts->yycursor + " = " + opts->yymarker
+ : opts->yyrestore + " ()";
+ return indent(ind, opts->indString) + s + ";\n";
}
-std::string InputAPI::expr_peek(Opt &opts) const
+std::string output_expr_lessthan(size_t n, Opt &opts)
{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = "*" + opts->yycursor;
- break;
- case CUSTOM:
- s = opts->yypeek + " ()";
- break;
+ std::ostringstream s;
+ if (opts->input_api == INPUT_CUSTOM) {
+ s << opts->yylessthan << " (" << n << ")";
+ } else if (n == 1) {
+ s << opts->yylimit << " <= " << opts->yycursor;
+ } else {
+ s << "(" << opts->yylimit << " - " << opts->yycursor << ") < " << n;
}
- return s;
+ return s.str ();
}
-std::string InputAPI::stmt_peek(uint32_t ind, Opt &opts) const
+static std::string yych_conv(const opt_t *opts)
{
- return indent(ind, opts->indString) + opts->yych + " = " + opts.yychConversion()
- + expr_peek(opts) + ";\n";
+ return opts->yychConversion
+ ? "(" + opts->yyctype + ")"
+ : "";
}
-std::string InputAPI::stmt_skip(uint32_t ind, Opt &opts) const
+void output_peek(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = "++" + opts->yycursor;
- break;
- case CUSTOM:
- s = opts->yyskip + " ()";
- break;
+ o << indent(ind, opts->indString) << opts->yych << " = " << yych_conv(opts);
+ if (opts->input_api == INPUT_CUSTOM) {
+ o << opts->yypeek << " ()";
+ } else {
+ o << "*" << opts->yycursor;
}
- return indent(ind, opts->indString) + s + ";\n";
+ o << ";\n";
}
-std::string InputAPI::stmt_backup(uint32_t ind, Opt &opts) const
+void output_skip(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = opts->yymarker + " = " + opts->yycursor;
- break;
- case CUSTOM:
- s = opts->yybackup + " ()";
- break;
+ o << indent(ind, opts->indString);
+ if (opts->input_api == INPUT_CUSTOM) {
+ o << opts->yyskip << " ()";
+ } else {
+ o << "++" << opts->yycursor;
}
- return indent(ind, opts->indString) + s + ";\n";
+ o << ";\n";
}
-std::string InputAPI::stmt_restore(uint32_t ind, Opt &opts) const
+void output_backup(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = opts->yycursor + " = " + opts->yymarker;
- break;
- case CUSTOM:
- s = opts->yyrestore + " ()";
- break;
+ o << indent(ind, opts->indString);
+ if (opts->input_api == INPUT_CUSTOM) {
+ o << opts->yybackup << " ()";
+ } else {
+ o << opts->yymarker << " = " << opts->yycursor;
}
- return indent(ind, opts->indString) + s + ";\n";
+ o << ";\n";
}
-std::string InputAPI::stmt_skip_peek(uint32_t ind, Opt &opts) const
+void output_skip_peek(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- return type_ == DEFAULT
- ? indent(ind, opts->indString) + opts->yych + " = " + opts.yychConversion() + "*++" + opts->yycursor + ";\n"
- : stmt_skip(ind, opts) + stmt_peek(ind, opts);
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yych << " = "
+ << yych_conv(opts) << "*++" << opts->yycursor << ";\n";
}
-std::string InputAPI::stmt_skip_backup(uint32_t ind, Opt &opts) const
+void output_peek_skip(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- return type_ == DEFAULT
- ? indent(ind, opts->indString) + opts->yymarker + " = ++" + opts->yycursor + ";\n"
- : stmt_skip(ind, opts) + stmt_backup(ind, opts);
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yych << " = "
+ << yych_conv(opts) << "*" << opts->yycursor << "++;\n";
}
-std::string InputAPI::stmt_backup_peek(uint32_t ind, Opt &opts) const
+void output_skip_backup(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- return type_ == DEFAULT
- ? indent(ind, opts->indString) + opts->yych + " = " + opts.yychConversion() + "*(" + opts->yymarker + " = " + opts->yycursor + ");\n"
- : stmt_backup(ind, opts) + stmt_peek(ind, opts);
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yymarker << " = ++"
+ << opts->yycursor << ";\n";
}
-std::string InputAPI::stmt_skip_backup_peek(uint32_t ind, Opt &opts) const
+void output_backup_skip(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- return type_ == DEFAULT
- ? indent(ind, opts->indString) + opts->yych + " = " + opts.yychConversion() + "*(" + opts->yymarker + " = ++" + opts->yycursor + ");\n"
- : stmt_skip(ind, opts) + stmt_backup(ind, opts) + stmt_peek(ind, opts);
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yymarker << " = "
+ << opts->yycursor << "++;\n";
}
-std::string InputAPI::expr_lessthan(size_t n, Opt &opts) const
+void output_backup_peek(std::ostream &o, uint32_t ind, const opt_t *opts)
{
- std::ostringstream s;
- if (type_ == CUSTOM) {
- s << opts->yylessthan << " (" << n << ")";
- } else if (n == 1) {
- s << opts->yylimit << " <= " << opts->yycursor;
- } else {
- s << "(" << opts->yylimit << " - " << opts->yycursor << ") < " << n;
- }
- return s.str ();
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yych << " = "
+ << yych_conv(opts) << "*(" << opts->yymarker << " = "
+ << opts->yycursor << ");\n";
+}
+
+void output_skip_backup_peek(std::ostream &o, uint32_t ind, const opt_t *opts)
+{
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yych << " = "
+ << yych_conv(opts) << "*(" << opts->yymarker << " = ++"
+ << opts->yycursor << ");\n";
+}
+
+void output_backup_peek_skip(std::ostream &o, uint32_t ind, const opt_t *opts)
+{
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yych << " = "
+ << yych_conv(opts) << "*(" << opts->yymarker << " = "
+ << opts->yycursor << "++);\n";
}
} // end namespace re2c
{
struct Opt;
+struct opt_t;
-class InputAPI
+enum input_api_t
{
-public:
- enum type_t
- { DEFAULT
- , CUSTOM
- };
-
-private:
- type_t type_;
-
-public:
- InputAPI ();
- type_t type () const;
- void set (type_t t);
- std::string expr_peek (Opt &opts) const;
- std::string stmt_peek (uint32_t ind, Opt &opts) const;
- std::string stmt_skip (uint32_t ind, Opt &opts) const;
- std::string stmt_backup (uint32_t ind, Opt &opts) const;
- std::string stmt_restore (uint32_t ind, Opt &opts) const;
- std::string stmt_skip_peek (uint32_t ind, Opt &opts) const;
- std::string stmt_skip_backup (uint32_t ind, Opt &opts) const;
- std::string stmt_backup_peek (uint32_t ind, Opt &opts) const;
- std::string stmt_skip_backup_peek (uint32_t ind, Opt &opts) const;
- std::string expr_lessthan (size_t n, Opt &opts) const;
+ INPUT_DEFAULT,
+ INPUT_CUSTOM
};
+std::string output_expr_peek (Opt &opts);
+std::string output_restore (uint32_t ind, Opt &opts);
+std::string output_expr_lessthan (size_t n, Opt &opts);
+
+void output_peek (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_skip (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_backup (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_skip_peek (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_peek_skip (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_skip_backup (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_backup_skip (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_backup_peek (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_skip_backup_peek (std::ostream &o, uint32_t ind, const opt_t *opts);
+void output_backup_peek_skip (std::ostream &o, uint32_t ind, const opt_t *opts);
+
} // end namespace re2c
#endif // _RE2C_CODEGEN_INPUT_API_
OutputFile &OutputFile::wraw(const char *s, const char *e)
{
+ insert_code();
stream().write(s, static_cast<std::streamsize>(e - s));
return *this;
}
OutputFile & OutputFile::wu32_hex (uint32_t n)
{
+ insert_code();
prtHex(stream(), n, opts->encoding.szCodeUnit());
return *this;
}
OutputFile & OutputFile::wc_hex (uint32_t n)
{
+ insert_code();
const Enc &e = opts->encoding;
prtChOrHex(stream(), n, e.szCodeUnit(), e.type() == Enc::EBCDIC, opts->target == opt_t::DOT);
return *this;
OutputFile & OutputFile::wrange (uint32_t l, uint32_t u)
{
+ insert_code();
const Enc &e = opts->encoding;
printSpan(stream(), l, u, e.szCodeUnit(), e.type() == Enc::EBCDIC, opts->target == opt_t::DOT);
return *this;
OutputFile & OutputFile::wu32_width (uint32_t n, int w)
{
+ insert_code();
stream () << std::setw (w);
stream () << n;
return *this;
OutputFile & OutputFile::wline_info (uint32_t l, const char * fn)
{
+ insert_code();
output_line_info (stream (), l, fn, opts->iFlag);
return *this;
}
OutputFile & OutputFile::wversion_time ()
{
+ insert_code();
output_version_time (stream (), opts);
return *this;
}
OutputFile & OutputFile::wuser_start_label ()
{
+ insert_code();
const std::string label = block().user_start_label;
if (!label.empty ())
{
OutputFile & OutputFile::wc (char c)
{
+ insert_code();
stream () << c;
return *this;
}
OutputFile & OutputFile::wu32 (uint32_t n)
{
+ insert_code();
stream () << n;
return *this;
}
OutputFile & OutputFile::wu64 (uint64_t n)
{
+ insert_code();
stream () << n;
return *this;
}
OutputFile & OutputFile::wstring (const std::string & s)
{
+ insert_code();
stream () << s;
return *this;
}
OutputFile & OutputFile::ws (const char * s)
{
+ insert_code();
stream () << s;
return *this;
}
OutputFile & OutputFile::wlabel (label_t l)
{
+ insert_code();
stream () << l;
return *this;
}
OutputFile & OutputFile::wind (uint32_t ind)
{
+ insert_code();
stream () << indent(ind, opts->indString);
return *this;
}
void OutputFile::insert_code ()
{
- block().fragments.push_back (new OutputFragment (OutputFragment::CODE, 0));
+ if (block().fragments.back()->type != OutputFragment::CODE) {
+ block().fragments.push_back(new OutputFragment(OutputFragment::CODE, 0));
+ }
}
OutputFile &OutputFile::wdelay_tags(uint32_t ind, const ConfTags *cf)
OutputFragment *frag = new OutputFragment(OutputFragment::TAGS, ind);
frag->tags = cf;
blocks.back()->fragments.push_back(frag);
- insert_code();
return *this;
}
OutputFile & OutputFile::wdelay_line_info ()
{
block().fragments.push_back (new OutputFragment (OutputFragment::LINE_INFO, 0));
- insert_code ();
return *this;
}
{
if (opts->cFlag && !cond_goto) {
block().fragments.push_back(new OutputFragment(OutputFragment::COND_GOTO, ind));
- insert_code ();
cond_goto = true;
}
return *this;
{
if (opts->gFlag && opts->cFlag && !cond_goto) {
block().fragments.push_back(new OutputFragment(OutputFragment::COND_TABLE, ind));
- insert_code ();
}
return *this;
}
{
if (opts->fFlag && !state_goto) {
block().fragments.push_back (new OutputFragment (OutputFragment::STATE_GOTO, ind));
- insert_code ();
state_goto = true;
}
return *this;
{
warn_condition_order = false; // see note [condition order]
block().fragments.push_back (new OutputFragment (OutputFragment::TYPES, 0));
- insert_code ();
return *this;
}
OutputFile & OutputFile::wdelay_yyaccept_init (uint32_t ind)
{
block().fragments.push_back (new OutputFragment (OutputFragment::YYACCEPT_INIT, ind));
- insert_code ();
return *this;
}
OutputFile & OutputFile::wdelay_yymaxfill ()
{
block().fragments.push_back (new OutputFragment (OutputFragment::YYMAXFILL, 0));
- insert_code ();
+ return *this;
+}
+
+OutputFile& OutputFile::wdelay_skip(uint32_t ind, bool skip)
+{
+ if (skip) {
+ OutputFragment *f = new OutputFragment(OutputFragment::SKIP, ind);
+ block().fragments.push_back(f);
+ }
+ return *this;
+}
+
+OutputFile& OutputFile::wdelay_peek(uint32_t ind, bool peek)
+{
+ if (peek) {
+ OutputFragment *f = new OutputFragment(OutputFragment::PEEK, ind);
+ block().fragments.push_back(f);
+ }
+ return *this;
+}
+
+OutputFile& OutputFile::wdelay_backup(uint32_t ind, bool backup)
+{
+ if (backup) {
+ OutputFragment *f = new OutputFragment(OutputFragment::BACKUP, ind);
+ block().fragments.push_back(f);
+ }
return *this;
}
void OutputFile::new_block ()
{
blocks.push_back (new OutputBlock ());
- insert_code ();
}
void OutputFile::global_lists(
}
}
+static void foldexpr(std::vector<OutputFragment*> &frags)
+{
+ const size_t n = frags.size();
+ for (size_t i = 0; i < n;) {
+
+ if (i + 2 < n) {
+ OutputFragment::type_t
+ &x = frags[i]->type,
+ &y = frags[i + 1]->type,
+ &z = frags[i + 2]->type;
+ if (x == OutputFragment::BACKUP && y == OutputFragment::PEEK && z == OutputFragment::SKIP) {
+ x = OutputFragment::BACKUP_PEEK_SKIP;
+ y = z = OutputFragment::EMPTY;
+ i += 3;
+ continue;
+ } else if (x == OutputFragment::SKIP && y == OutputFragment::BACKUP && z == OutputFragment::PEEK) {
+ x = OutputFragment::SKIP_BACKUP_PEEK;
+ y = z = OutputFragment::EMPTY;
+ i += 3;
+ continue;
+ }
+ }
+
+ if (i + 1 < n) {
+ OutputFragment::type_t
+ &x = frags[i]->type,
+ &y = frags[i + 1]->type;
+ if (x == OutputFragment::PEEK && y == OutputFragment::SKIP) {
+ x = OutputFragment::PEEK_SKIP;
+ y = OutputFragment::EMPTY;
+ i += 2;
+ continue;
+ } else if (x == OutputFragment::SKIP && y == OutputFragment::PEEK) {
+ x = OutputFragment::SKIP_PEEK;
+ y = OutputFragment::EMPTY;
+ i += 2;
+ continue;
+ } else if (x == OutputFragment::SKIP && y == OutputFragment::BACKUP) {
+ x = OutputFragment::SKIP_BACKUP;
+ y = OutputFragment::EMPTY;
+ i += 2;
+ continue;
+ } else if (x == OutputFragment::BACKUP && y == OutputFragment::PEEK) {
+ x = OutputFragment::BACKUP_PEEK;
+ y = OutputFragment::EMPTY;
+ i += 2;
+ continue;
+ } else if (x == OutputFragment::BACKUP && y == OutputFragment::SKIP) {
+ x = OutputFragment::BACKUP_SKIP;
+ y = OutputFragment::EMPTY;
+ i += 2;
+ continue;
+ }
+ }
+
+ ++i;
+ }
+}
+
bool OutputFile::emit(const uniq_vector_t<std::string> &global_types,
const std::set<std::string> &global_tags,
size_t max_fill)
unsigned int line_count = 1;
for (unsigned int j = 0; j < blocks.size(); ++j) {
OutputBlock & b = * blocks[j];
- for (unsigned int i = 0; i < b.fragments.size(); ++i) {
+ const opt_t *bopt = b.opts;
+
+ if (bopt->input_api == INPUT_DEFAULT) {
+ foldexpr(b.fragments);
+ }
+
+ const size_t n = b.fragments.size();
+ for (size_t i = 0; i < n; ++i) {
OutputFragment & f = * b.fragments[i];
+ std::ostringstream &o = f.stream;
+ const uint32_t ind = f.indent;
+
switch (f.type) {
- case OutputFragment::CODE: break;
- case OutputFragment::LINE_INFO:
- output_line_info(f.stream, line_count + 1, filename, b.opts->iFlag);
- break;
- case OutputFragment::COND_GOTO:
- output_cond_goto(f.stream, f.indent, b.types,
- b.opts, warn, warn_condition_order, b.line);
- break;
- case OutputFragment::COND_TABLE:
- output_cond_table(f.stream, f.indent, b.types, b.opts);
- break;
- case OutputFragment::STATE_GOTO:
- output_state_goto(f.stream, f.indent, 0, fill_index, b.opts);
- break;
- case OutputFragment::TAGS:
- output_tags(f.stream, *f.tags, global_tags);
- break;
- case OutputFragment::TYPES:
- output_types(f.stream, f.indent, global_types, opts);
- break;
- case OutputFragment::YYACCEPT_INIT:
- output_yyaccept_init(f.stream, f.indent, b.used_yyaccept, b.opts);
- break;
- case OutputFragment::YYMAXFILL:
- output_yymaxfill(f.stream, max_fill);
- break;
+ case OutputFragment::EMPTY:
+ case OutputFragment::CODE: break;
+ case OutputFragment::LINE_INFO:
+ output_line_info(o, line_count + 1, filename, bopt->iFlag);
+ break;
+ case OutputFragment::COND_GOTO:
+ output_cond_goto(o, ind, b.types,
+ bopt, warn, warn_condition_order, b.line);
+ break;
+ case OutputFragment::COND_TABLE:
+ output_cond_table(o, ind, b.types, bopt);
+ break;
+ case OutputFragment::STATE_GOTO:
+ output_state_goto(o, ind, 0, fill_index, bopt);
+ break;
+ case OutputFragment::TAGS:
+ output_tags(o, *f.tags, global_tags);
+ break;
+ case OutputFragment::TYPES:
+ output_types(o, ind, global_types, opts);
+ break;
+ case OutputFragment::YYACCEPT_INIT:
+ output_yyaccept_init(o, ind, b.used_yyaccept, bopt);
+ break;
+ case OutputFragment::YYMAXFILL:
+ output_yymaxfill(o, max_fill);
+ break;
+ case OutputFragment::SKIP:
+ output_skip(o, ind, bopt);
+ break;
+ case OutputFragment::PEEK:
+ output_peek(o, ind, bopt);
+ break;
+ case OutputFragment::BACKUP:
+ output_backup(o, ind, bopt);
+ break;
+ case OutputFragment::PEEK_SKIP:
+ output_peek_skip(o, ind, bopt);
+ break;
+ case OutputFragment::SKIP_PEEK:
+ output_skip_peek(o, ind, bopt);
+ break;
+ case OutputFragment::SKIP_BACKUP:
+ output_skip_backup(o, ind, bopt);
+ break;
+ case OutputFragment::BACKUP_SKIP:
+ output_backup_skip(o, ind, bopt);
+ break;
+ case OutputFragment::BACKUP_PEEK:
+ output_backup_peek(o, ind, bopt);
+ break;
+ case OutputFragment::BACKUP_PEEK_SKIP:
+ output_backup_peek_skip(o, ind, bopt);
+ break;
+ case OutputFragment::SKIP_BACKUP_PEEK:
+ output_skip_backup_peek(o, ind, bopt);
+ break;
}
- std::string content = f.stream.str();
+
+ std::string content = o.str();
fwrite(content.c_str(), 1, content.size(), file);
line_count += f.count_lines();
}
, TYPES
, YYACCEPT_INIT
, YYMAXFILL
+ , SKIP
+ , PEEK
+ , BACKUP
+ , PEEK_SKIP
+ , SKIP_PEEK
+ , SKIP_BACKUP
+ , BACKUP_SKIP
+ , BACKUP_PEEK
+ , BACKUP_PEEK_SKIP
+ , SKIP_BACKUP_PEEK
+ , EMPTY
};
type_t type;
OutputFile & wdelay_types ();
OutputFile & wdelay_yyaccept_init (uint32_t ind);
OutputFile & wdelay_yymaxfill ();
+ OutputFile& wdelay_skip(uint32_t ind, bool skip);
+ OutputFile& wdelay_peek(uint32_t ind, bool peek);
+ OutputFile& wdelay_backup(uint32_t ind, bool backup);
void global_lists(uniq_vector_t<std::string> &types,
std::set<std::string> &tags) const;
cGotoThreshold = Opt::baseopt.cGotoThreshold;
yytarget = Opt::baseopt.yytarget;
}
- if (input_api.type () != InputAPI::DEFAULT)
+ if (input_api != INPUT_DEFAULT)
{
yycursor = Opt::baseopt.yycursor;
yymarker = Opt::baseopt.yymarker;
yyctxmarker = Opt::baseopt.yyctxmarker;
yylimit = Opt::baseopt.yylimit;
}
- if (input_api.type () != InputAPI::CUSTOM)
+ if (input_api != INPUT_CUSTOM)
{
yypeek = Opt::baseopt.yypeek;
yyskip = Opt::baseopt.yyskip;
break;
case SKELETON:
iFlag = true;
- input_api.set (InputAPI::CUSTOM);
+ input_api = INPUT_CUSTOM;
indString = " ";
topIndent = 2;
break;
OPT (uint32_t, topIndent, 0) \
OPT (std::string, indString, "\t") \
/* input API */ \
- OPT (InputAPI, input_api, InputAPI ()) \
+ OPT (input_api_t, input_api, INPUT_DEFAULT) \
OPT (std::string, yycursor, "YYCURSOR") \
OPT (std::string, yymarker, "YYMARKER") \
OPT (std::string, yyctxmarker, "YYCTXMARKER") \
bool set_encoding (Enc::type_t t) { return useropt->encoding.set (t); }
void unset_encoding (Enc::type_t t) { useropt->encoding.unset (t); }
void set_encoding_policy (Enc::policy_t p) { useropt->encoding.setPolicy (p); }
- void set_input_api (InputAPI::type_t t) { useropt->input_api.set (t); }
#define OPT1 OPT
#define OPT(type, name, value) void set_##name (type arg) { useropt->name = arg; }
RE2C_OPTS
#undef OPT1
#undef OPT
- // helpers
- std::string yychConversion ()
- {
- return realopt->yychConversion
- ? "(" + realopt->yyctype + ")"
- : "";
- }
-
// bad temporary hacks, should be fixed by proper scoping of config (parts).
void reset_encoding (const Enc & enc);
void reset_mapCodeName ();
error ("bad argument to option --input (expected: default | custom): %s", *argv);
return EXIT_FAIL;
}
- "default" end { opts.set_input_api (InputAPI::DEFAULT); goto opt; }
- "custom" end { opts.set_input_api (InputAPI::CUSTOM); goto opt; }
+ "default" end { opts.set_input_api(INPUT_DEFAULT); goto opt; }
+ "custom" end { opts.set_input_api(INPUT_CUSTOM); goto opt; }
*/
opt_empty_class:
cs.push_back(*i);
}
- nfa_t nfa(rules, opts->input_api.type());
+ nfa_t nfa(rules, opts->input_api);
dfa_t dfa(nfa, cs, cond, opts->bijective_mapping, opts->dump_dfa_raw, warn);
if (opts->dump_dfa_det) dump_dfa(dfa);
namespace re2c {
-nfa_t::nfa_t(const std::vector<RegExpRule> ®exps, InputAPI::type_t input)
+nfa_t::nfa_t(const std::vector<RegExpRule> ®exps, input_api_t input)
: max_size(0)
, size(0)
, states(NULL)
std::vector<FixTag> &fixtags;
nfa_state_t *root;
- nfa_t(const std::vector<RegExpRule> &rs, InputAPI::type_t input);
+ nfa_t(const std::vector<RegExpRule> &rs, input_api_t input);
~nfa_t();
FORBID_COPY(nfa_t);
};
size_t counters(const std::vector<RegExpRule> ®exps, size_t &ntags);
-void regexps2nfa(const std::vector<RegExpRule> ®exps, nfa_t &nfa, InputAPI::type_t input);
+void regexps2nfa(const std::vector<RegExpRule> ®exps, nfa_t &nfa, input_api_t input);
bool nullable_rule(const RegExpRule &rule);
void init_rules(const std::vector<RegExpRule> ®exps, std::valarray<Rule> &rules,
const std::vector<VarTag> &vartags, const std::vector<FixTag> &fixtags);
}
static nfa_state_t *regexp2nfa_rule(nfa_t &nfa, size_t nrule,
- const RegExp *re, InputAPI::type_t input)
+ const RegExp *re, input_api_t input)
{
- const bool generic = input == InputAPI::CUSTOM;
+ const bool generic = input == INPUT_CUSTOM;
size_t base = FixTag::RIGHTMOST, dist = 0;
nfa_state_t *s = &nfa.states[nfa.size++];
}
void regexps2nfa(const std::vector<RegExpRule> ®exps,
- nfa_t &nfa, InputAPI::type_t input)
+ nfa_t &nfa, input_api_t input)
{
const size_t nregexps = regexps.size();
/*!re2c
* { fatal("bad configuration value"
" (expected: 'default', 'custom')"); }
- "default" { opts.set_input_api(InputAPI::DEFAULT); goto end; }
- "custom" { opts.set_input_api(InputAPI::CUSTOM); goto end; }
+ "default" { opts.set_input_api(INPUT_DEFAULT); goto end; }
+ "custom" { opts.set_input_api(INPUT_CUSTOM); goto end; }
*/
end:
lex_conf_semicolon();
{return (char*)0;}
#line 28 "bug1682718.c"
yy4:
- ++p;
- yych = (unsigned char)*p;
+ yych = (unsigned char)*++p;
switch (yych) {
case '0':
case '1':
yy6:
#line 9 "bug1682718.re"
{return p;}
-#line 48 "bug1682718.c"
+#line 47 "bug1682718.c"
}
#line 11 "bug1682718.re"
++p;
{return (char*)0;}
yy4:
- ++p;
- yych = (unsigned char)*p;
+ yych = (unsigned char)*++p;
if (yych <= '/') goto yy6;
if (yych <= '9') goto yy4;
yy6:
}
yy7:
yyaccept = 1;
- YYMARKER = ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\\': goto yy15;
case 'a': goto yy7;
++YYCURSOR;
#line 14 "bug57.re"
{ return YYCURSOR - p; }
-#line 64 "bug57.c"
+#line 63 "bug57.c"
yy11:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case 'b': goto yy13;
default: goto yy12;
goto yy2;
}
yy13:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '>': goto yy9;
case '\\': goto yy11;
default: goto yy12;
}
yy15:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case 'b': goto yy7;
default: goto yy12;
if (yych == 'a') goto yy191;
goto yy31;
yy125:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy125;
}
}
}
yy352:
- ++p;
- yych = *p;
+ yych = *++p;
yy353:
if (yybm[0+yych] & 128) {
goto yy352;
p = marker;
goto yy349;
yy355:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= '/') goto yy354;
if (yych >= ':') goto yy354;
if (yych >= '{') goto yy354;
}
yy356:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
goto yy354;
}
}
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy361;
if (yych <= '/') goto yy354;
}
}
yy358:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
++p;
{ return (p - start); }
yy361:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy363;
if (yych <= '/') goto yy354;
}
}
yy362:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy363:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy365;
if (yych <= '/') goto yy354;
}
}
yy364:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy365:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy367;
if (yych <= '/') goto yy354;
}
}
yy366:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy367:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy369;
if (yych <= '/') goto yy354;
}
}
yy368:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy369:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy371;
if (yych <= '/') goto yy354;
}
}
yy370:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy371:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy373;
if (yych <= '/') goto yy354;
}
}
yy372:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy373:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy375;
if (yych <= '/') goto yy354;
}
}
yy374:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy375:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy377;
if (yych <= '/') goto yy354;
}
}
yy376:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy377:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy379;
if (yych <= '/') goto yy354;
}
}
yy378:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy379:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy381;
if (yych <= '/') goto yy354;
}
}
yy380:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy381:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy383;
if (yych <= '/') goto yy354;
}
}
yy382:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy383:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy385;
if (yych <= '/') goto yy354;
}
}
yy384:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy385:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy387;
if (yych <= '/') goto yy354;
}
}
yy386:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy387:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy389;
if (yych <= '/') goto yy354;
}
}
yy388:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy389:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy391;
if (yych <= '/') goto yy354;
}
}
yy390:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy391:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy393;
if (yych <= '/') goto yy354;
}
}
yy392:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy393:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy395;
if (yych <= '/') goto yy354;
}
}
yy394:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy395:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy397;
if (yych <= '/') goto yy354;
}
}
yy396:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy397:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy399;
if (yych <= '/') goto yy354;
}
}
yy398:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy399:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy401;
if (yych <= '/') goto yy354;
}
}
yy400:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy401:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy403;
if (yych <= '/') goto yy354;
}
}
yy402:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy403:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy405;
if (yych <= '/') goto yy354;
}
}
yy404:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy405:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy407;
if (yych <= '/') goto yy354;
}
}
yy406:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy407:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy409;
if (yych <= '/') goto yy354;
}
}
yy408:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy409:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy411;
if (yych <= '/') goto yy354;
}
}
yy410:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy411:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy413;
if (yych <= '/') goto yy354;
}
}
yy412:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy413:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy415;
if (yych <= '/') goto yy354;
}
}
yy414:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy415:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy417;
if (yych <= '/') goto yy354;
}
}
yy416:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy417:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy419;
if (yych <= '/') goto yy354;
}
}
yy418:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy419:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy421;
if (yych <= '/') goto yy354;
}
}
yy420:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy421:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy423;
if (yych <= '/') goto yy354;
}
}
yy422:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy423:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy425;
if (yych <= '/') goto yy354;
}
}
yy424:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy425:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy427;
if (yych <= '/') goto yy354;
}
}
yy426:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy427:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy429;
if (yych <= '/') goto yy354;
}
}
yy428:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy429:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy431;
if (yych <= '/') goto yy354;
}
}
yy430:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy431:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy433;
if (yych <= '/') goto yy354;
}
}
yy432:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy433:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy435;
if (yych <= '/') goto yy354;
}
}
yy434:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy435:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy437;
if (yych <= '/') goto yy354;
}
}
yy436:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy437:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy439;
if (yych <= '/') goto yy354;
}
}
yy438:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy439:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy441;
if (yych <= '/') goto yy354;
}
}
yy440:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy441:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy443;
if (yych <= '/') goto yy354;
}
}
yy442:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy443:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy445;
if (yych <= '/') goto yy354;
}
}
yy444:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy445:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy447;
if (yych <= '/') goto yy354;
}
}
yy446:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy447:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy449;
if (yych <= '/') goto yy354;
}
}
yy448:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy449:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy451;
if (yych <= '/') goto yy354;
}
}
yy450:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy451:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy453;
if (yych <= '/') goto yy354;
}
}
yy452:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy453:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy455;
if (yych <= '/') goto yy354;
}
}
yy454:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy455:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy457;
if (yych <= '/') goto yy354;
}
}
yy456:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy457:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy459;
if (yych <= '/') goto yy354;
}
}
yy458:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy459:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy461;
if (yych <= '/') goto yy354;
}
}
yy460:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy461:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy463;
if (yych <= '/') goto yy354;
}
}
yy462:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy463:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy465;
if (yych <= '/') goto yy354;
}
}
yy464:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy465:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy467;
if (yych <= '/') goto yy354;
}
}
yy466:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy467:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy469;
if (yych <= '/') goto yy354;
}
}
yy468:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
goto yy354;
}
}
-yy469:
- ++p;
- yych = *p;
+yy469:
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy471;
if (yych <= '/') goto yy354;
}
}
yy470:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy471:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy473;
if (yych <= '/') goto yy354;
}
}
yy472:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy473:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy475;
if (yych <= '/') goto yy354;
}
}
yy474:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy475:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy477;
if (yych <= '/') goto yy354;
}
}
yy476:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy477:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy479;
if (yych <= '/') goto yy354;
}
}
yy478:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
}
}
yy479:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= '/') goto yy354;
if (yych <= '9') goto yy481;
goto yy354;
}
yy480:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= '-') goto yy354;
}
}
yy481:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == '.') goto yy355;
if (yych == '>') goto yy359;
goto yy354;
p = marker;
goto yy484;
yy492:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[256+yych] & 32) {
goto yy492;
}
if (yych == 'c') goto yy510;
goto yy491;
yy495:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[256+yych] & 64) {
goto yy495;
}
goto yy491;
}
yy497:
- ++p;
- yych = *p;
+ yych = *++p;
yy498:
if (yybm[256+yych] & 128) {
goto yy497;
}
if (yych <= 0x00) goto yy491;
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= 0x00) goto yy491;
if (yych == '>') goto yy505;
goto yy497;
yy500:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 1) {
goto yy500;
}
if (yych == '>') goto yy505;
goto yy491;
yy503:
- ++p;
- yych = *p;
+ yych = *++p;
yy504:
if (yybm[0+yych] & 1) {
goto yy500;
if (yych == '>') goto yy491;
goto yy516;
yy508:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 2) {
goto yy508;
}
if (yych == 'd') goto yy518;
goto yy491;
yy511:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= 0x1F) {
if (yych <= 0x08) goto yy491;
if (yych <= '\r') goto yy511;
goto yy491;
}
yy513:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 4) {
goto yy513;
}
}
}
yy515:
- ++p;
- yych = *p;
+ yych = *++p;
yy516:
if (yybm[0+yych] & 8) {
goto yy515;
if (yych == 'a') goto yy523;
goto yy491;
yy519:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '<') {
if (yych <= ' ') {
if (yych <= 0x08) goto yy491;
}
}
yy521:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy524;
}
if (yych <= '\'') goto yy529;
goto yy491;
yy522:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 8) {
goto yy515;
}
if (yych == 't') goto yy531;
goto yy491;
yy524:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy524;
}
if (yych == '>') goto yy505;
goto yy491;
yy526:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy524;
}
goto yy491;
}
yy527:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy527;
}
if (yych <= 0x00) goto yy491;
goto yy536;
yy529:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy529;
}
if (yych == 'a') goto yy537;
goto yy491;
yy532:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych <= ' ') {
if (yych <= 0x08) {
}
}
yy534:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych <= ' ') {
if (yych <= 0x08) {
}
}
yy536:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 1) {
goto yy500;
}
if (yych == '[') goto yy540;
goto yy491;
yy538:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '/') {
if (yych <= '!') {
if (yych <= '\r') {
}
}
yy540:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy540;
}
if (yych <= 0x00) goto yy491;
goto yy544;
yy542:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= ':') {
if (yych <= ' ') {
if (yych <= 0x08) {
}
}
yy544:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy540;
}
if (yych <= 0x00) goto yy491;
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= 0x00) goto yy491;
if (yych == '>') goto yy505;
goto yy540;
{ return 0; }
yy771:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 8) {
goto yy771;
}
{ return (p - start); }
yy774:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
yy775:
if (yybm[0+yych] & 16) {
goto yy774;
goto yy781;
yy777:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 32) {
goto yy777;
}
}
}
yy780:
- ++p;
- yych = *p;
+ yych = *++p;
yy781:
if (yych <= '(') {
if (yych <= ' ') goto yy782;
goto yy790;
}
yy783:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= ' ') goto yy782;
if (yych <= '/') goto yy774;
}
}
yy784:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= ' ') goto yy782;
if (yych <= '/') goto yy780;
}
}
yy785:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy785;
}
if (yych <= '>') goto yy792;
goto yy793;
yy787:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= ')') {
if (yych <= '\n') {
if (yych <= 0x00) goto yy782;
yy790:
{ return (p - start); }
yy791:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '>') {
if (yych <= ' ') {
if (yych <= 0x00) goto yy782;
++p;
goto yy790;
yy793:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy793;
}
if (yych == '(') goto yy790;
goto yy781;
yy796:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '>') {
if (yych <= ' ') {
if (yych <= 0x00) goto yy782;
}
yy797:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 32) {
goto yy777;
}
}
yy798:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yych <= '(') {
if (yych <= '\n') {
if (yych <= 0x00) goto yy773;
}
yy799:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 64) {
goto yy785;
}
goto yy793;
yy800:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yych <= ')') {
if (yych <= '\n') {
if (yych <= 0x00) goto yy790;
}
}
yy801:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '(') {
if (yych <= '\n') {
if (yych <= 0x00) goto yy782;
if (yych <= 0x00) goto yy804;
goto yy823;
yy809:
- ++p;
- yych = *p;
+ yych = *++p;
yy810:
if (yybm[0+yych] & 16) {
goto yy809;
yy813:
{ return (p - start); }
yy814:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy809;
}
if (yych <= '"') goto yy828;
goto yy814;
yy816:
- ++p;
- yych = *p;
+ yych = *++p;
yy817:
if (yybm[0+yych] & 64) {
goto yy816;
yy819:
{ return (p - start); }
yy820:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy816;
}
if (yych <= '\'') goto yy829;
goto yy820;
yy822:
- ++p;
- yych = *p;
+ yych = *++p;
yy823:
if (yybm[0+yych] & 128) {
goto yy822;
yy825:
{ return (p - start); }
yy826:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy822;
}
goto yy826;
yy828:
yyaccept = 1;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 16) {
goto yy809;
}
goto yy814;
yy829:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 64) {
goto yy816;
}
goto yy820;
yy830:
yyaccept = 3;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 128) {
goto yy822;
}
++p;
{ return 0; }
yy835:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy835;
}
yy844:
{ return (p - start); }
yy845:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy845;
}
++p;
{ return 2; }
yy861:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy861;
}
p = marker;
goto yy855;
yy864:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy861;
}
++p;
{ return 1; }
yy868:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == '\n') goto yy866;
if (yych == ' ') goto yy868;
goto yy863;
yy870:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy870;
}
if (yych == '_') goto yy890;
goto yy874;
yy879:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 8) {
goto yy879;
}
p = marker;
goto yy874;
yy882:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == ' ') goto yy882;
if (yych == '*') goto yy892;
goto yy881;
yy884:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == ' ') goto yy884;
if (yych != '-') goto yy881;
yy886:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == ' ') goto yy886;
if (yych == '-') goto yy894;
goto yy881;
yy888:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == ' ') goto yy888;
if (yych != '_') goto yy881;
yy890:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == ' ') goto yy890;
if (yych == '_') goto yy896;
goto yy881;
yy892:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy892;
}
if (yych <= '\n') goto yy900;
goto yy881;
yy894:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy894;
}
if (yych <= '\n') goto yy904;
goto yy881;
yy896:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy896;
}
if (yych <= '\n') goto yy908;
goto yy881;
yy898:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy898;
}
++p;
{ return (p - start); }
yy902:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '\n') {
if (yych <= 0x08) goto yy881;
if (yych <= '\t') goto yy902;
++p;
{ return (p - start); }
yy906:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '\n') {
if (yych <= 0x08) goto yy881;
if (yych <= '\t') goto yy906;
}
goto yy917;
yy919:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy919;
}
marker = p;
goto yy923;
yy921:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy921;
}
marker = p;
goto yy927;
yy923:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy923;
}
p = marker;
{ return (p - start); }
yy927:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy927;
}
}
goto yy938;
yy940:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy940;
}
goto yy938;
}
yy942:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy942;
}
goto yy938;
}
yy944:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy944;
}
p = marker;
{ return (p - start); }
yy948:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '\n') {
if (yych <= 0x08) goto yy938;
if (yych <= '\t') goto yy948;
{ res = 1; continue; }
#line 105 "calc_006.s.c"
yy6:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yych == '\t') goto yy6;
if (yych == ' ') goto yy6;
#line 107 "calc_006.s.re"
{ continue; }
-#line 113 "calc_006.s.c"
+#line 112 "calc_006.s.c"
yy9:
++YYCURSOR;
#line 110 "calc_006.s.re"
{ res = stack_add(); continue; }
-#line 118 "calc_006.s.c"
+#line 117 "calc_006.s.c"
yy11:
++YYCURSOR;
#line 111 "calc_006.s.re"
{ res = stack_sub(); continue; }
-#line 123 "calc_006.s.c"
+#line 122 "calc_006.s.c"
yy13:
yych = *++YYCURSOR;
if (yych <= '/') goto yy14;
yy14:
#line 109 "calc_006.s.re"
{ res = push_num(t, p, 10); continue; }
-#line 131 "calc_006.s.c"
+#line 130 "calc_006.s.c"
yy15:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yych <= '/') goto yy14;
if (yych <= '9') goto yy15;
goto yy14;
yy17:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yych <= '/') goto yy19;
if (yych <= '9') goto yy17;
yy19:
#line 108 "calc_006.s.re"
{ res = push_num(t, p, 8); continue; }
-#line 146 "calc_006.s.c"
+#line 143 "calc_006.s.c"
}
#line 114 "calc_006.s.re"
{ res = 1; continue; }
#line 135 "calc_007.b.c"
yy6:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
goto yy6;
}
#line 80 "calc_007.b.re"
{ continue; }
-#line 144 "calc_007.b.c"
+#line 143 "calc_007.b.c"
yy9:
++YYCURSOR;
#line 83 "calc_007.b.re"
{ res = stack_add(); continue; }
-#line 149 "calc_007.b.c"
+#line 148 "calc_007.b.c"
yy11:
++YYCURSOR;
#line 84 "calc_007.b.re"
{ res = stack_sub(); continue; }
-#line 154 "calc_007.b.c"
+#line 153 "calc_007.b.c"
yy13:
yych = *++YYCURSOR;
if (yych <= '/') goto yy14;
yy14:
#line 82 "calc_007.b.re"
{ res = push_num(t, p, 10); continue; }
-#line 162 "calc_007.b.c"
+#line 161 "calc_007.b.c"
yy15:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy15;
}
goto yy14;
yy17:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yych <= '/') goto yy19;
if (yych <= '9') goto yy17;
yy19:
#line 81 "calc_007.b.re"
{ res = push_num(t, p, 8); continue; }
-#line 178 "calc_007.b.c"
+#line 175 "calc_007.b.c"
}
#line 87 "calc_007.b.re"
{ res = 1; continue; }
#line 131 "calc_008.b.c"
scan6:
- ++p;
- curr = (unsigned char)*p;
+ curr = (unsigned char)*++p;
if (yybm[0+curr] & 64) {
goto scan6;
}
#line 103 "calc_008.b.re"
{ continue; }
-#line 140 "calc_008.b.c"
+#line 139 "calc_008.b.c"
scan9:
++p;
#line 106 "calc_008.b.re"
{ res = stack_add(); continue; }
-#line 145 "calc_008.b.c"
+#line 144 "calc_008.b.c"
scan11:
++p;
#line 107 "calc_008.b.re"
{ res = stack_sub(); continue; }
-#line 150 "calc_008.b.c"
+#line 149 "calc_008.b.c"
scan13:
curr = (unsigned char)*++p;
if (curr <= '/') goto scan14;
scan14:
#line 105 "calc_008.b.re"
{ res = push_num(t, p, 10); continue; }
-#line 158 "calc_008.b.c"
+#line 157 "calc_008.b.c"
scan15:
- ++p;
- curr = (unsigned char)*p;
+ curr = (unsigned char)*++p;
if (yybm[0+curr] & 128) {
goto scan15;
}
goto scan14;
scan17:
- ++p;
- curr = (unsigned char)*p;
+ curr = (unsigned char)*++p;
if (curr <= '/') goto scan19;
if (curr <= '9') goto scan17;
scan19:
#line 104 "calc_008.b.re"
{ res = push_num(t, p, 8); continue; }
-#line 174 "calc_008.b.c"
+#line 171 "calc_008.b.c"
}
#line 110 "calc_008.b.re"
goto *yyctable[YYGETCONDITION()];
/* *********************************** */
yyc_b:
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 24 "condtype_yysetcondition.cg.re"
{ printf ("b\n"); break; }
-#line 38 "condtype_yysetcondition.cg.c"
+#line 37 "condtype_yysetcondition.cg.c"
/* *********************************** */
yyc_a:
yych = *YYCURSOR;
YYSETCONDITION(yycb);
#line 27 "condtype_yysetcondition.cg.re"
{ printf ("a => b\n"); continue; }
-#line 47 "condtype_yysetcondition.cg.c"
+#line 46 "condtype_yysetcondition.cg.c"
yy9:
++YYCURSOR;
#line 26 "condtype_yysetcondition.cg.re"
{ printf ("a\n"); continue; }
-#line 52 "condtype_yysetcondition.cg.c"
+#line 51 "condtype_yysetcondition.cg.c"
}
#line 28 "condtype_yysetcondition.cg.re"
}
/* *********************************** */
yyc_b:
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 24 "condtype_yysetcondition.cs.re"
{ printf ("b\n"); break; }
-#line 38 "condtype_yysetcondition.cs.c"
+#line 37 "condtype_yysetcondition.cs.c"
/* *********************************** */
yyc_a:
yych = *YYCURSOR;
YYSETCONDITION(yycb);
#line 27 "condtype_yysetcondition.cs.re"
{ printf ("a => b\n"); continue; }
-#line 47 "condtype_yysetcondition.cs.c"
+#line 46 "condtype_yysetcondition.cs.c"
yy9:
++YYCURSOR;
#line 26 "condtype_yysetcondition.cs.re"
{ printf ("a\n"); continue; }
-#line 52 "condtype_yysetcondition.cs.c"
+#line 51 "condtype_yysetcondition.cs.c"
}
#line 28 "condtype_yysetcondition.cs.re"
{ printf("Num\n"); continue; }
#line 76 "config6.c"
yy12:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '0':
case '1':
yy14:
#line 19 "config6.re"
{ printf("Num\n"); continue; }
-#line 96 "config6.c"
+#line 95 "config6.c"
yy15:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '0':
case '1':
yy17:
#line 18 "config6.re"
{ printf("Oct\n"); continue; }
-#line 116 "config6.c"
+#line 114 "config6.c"
}
#line 25 "config6.re"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
switch (yych) {
case 'a': goto yy5;
default: goto yy3;
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR++;
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
- yych = *++YYCURSOR;
switch (yych) {
case 'a': goto yy5;
default: goto yy4;
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
switch (yych) {
case 'a': goto yy5;
default: goto yy3;
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
- yych = *++YYCURSOR;
- yych = *(YYMARKER = ++YYCURSOR);
+ yych = *YYCURSOR++;
+ yych = *YYCURSOR++;
+ yych = *(YYMARKER = YYCURSOR);
goto yy5;
yy4:
#line 4 "control_flow_yymarker_ok.re"
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
switch (yych) {
case 'a': goto yy5;
default: goto yy3;
YYCTYPE yych;
unsigned int yyaccept = 0;
if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy5;
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "default.8.re"
{ return DEFAULT; }
-#line 13 "default.8.c"
+#line 12 "default.8.c"
}
#line 3 "default.8.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "default.re"
{ return DEFAULT; }
-#line 13 "default.c"
+#line 12 "default.c"
}
#line 3 "default.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "default.e.re"
{ return DEFAULT; }
-#line 13 "default.e.c"
+#line 12 "default.e.c"
}
#line 3 "default.e.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "default.u.re"
{ return DEFAULT; }
-#line 13 "default.u.c"
+#line 12 "default.u.c"
}
#line 3 "default.u.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "default.w.re"
{ return DEFAULT; }
-#line 13 "default.w.c"
+#line 12 "default.w.c"
}
#line 3 "default.w.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "default.x.re"
{ return DEFAULT; }
-#line 13 "default.x.c"
+#line 12 "default.x.c"
}
#line 3 "default.x.re"
/* *********************************** */
yyc_c1:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
{ return DEFAULT-1; }
/* *********************************** */
yyc_c2:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
{ return DEFAULT-2; }
/* *********************************** */
yyc_c3:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
{ return DEFAULT-*; }
}
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 3 "default_full.re"
{ return FULL; }
-#line 13 "default_full.c"
+#line 12 "default_full.c"
}
#line 4 "default_full.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 3 "default_full.e.re"
{ return FULL; }
-#line 13 "default_full.e.c"
+#line 12 "default_full.e.c"
}
#line 4 "default_full.e.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 3 "default_full.u.re"
{ return FULL; }
-#line 13 "default_full.u.c"
+#line 12 "default_full.u.c"
}
#line 4 "default_full.u.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 3 "default_full.w.re"
{ return FULL; }
-#line 13 "default_full.w.c"
+#line 12 "default_full.w.c"
}
#line 4 "default_full.w.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input4.--empty-class(match-empty).re"
{ return 1; }
-#line 13 "input4.--empty-class(match-empty).c"
+#line 12 "input4.--empty-class(match-empty).c"
}
#line 7 "input4.--empty-class(match-empty).re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input4.--empty-class(match-none).re"
{ return 1; }
-#line 13 "input4.--empty-class(match-none).c"
+#line 12 "input4.--empty-class(match-none).c"
}
#line 7 "input4.--empty-class(match-none).re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input4.re"
{ return 1; }
-#line 13 "input4.c"
+#line 12 "input4.c"
}
#line 7 "input4.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input6.--empty-class(match-empty).re"
{ return 1; }
-#line 13 "input6.--empty-class(match-empty).c"
+#line 12 "input6.--empty-class(match-empty).c"
}
#line 6 "input6.--empty-class(match-empty).re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input6.--empty-class(match-none).re"
{ return 1; }
-#line 13 "input6.--empty-class(match-none).c"
+#line 12 "input6.--empty-class(match-none).c"
}
#line 6 "input6.--empty-class(match-none).re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input6.re"
{ return 1; }
-#line 13 "input6.c"
+#line 12 "input6.c"
}
#line 6 "input6.re"
return PHP_JSON_T_ERROR;
}
yy7:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
yy8:
if (yybm[0+yych] & 64) {
goto yy7;
}
yy19:
yyaccept = 0;
- YYMARKER = ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 128) {
goto yy19;
}
goto yy35;
yy40:
yyaccept = 2;
- YYMARKER = ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'D') {
if (yych <= '/') goto yy42;
if (yych <= '9') goto yy40;
if (yych <= '/') goto yy35;
if (yych >= ':') goto yy35;
yy44:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yych <= '/') goto yy42;
if (yych <= '9') goto yy44;
goto yy42;
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "range_full.re"
{return 0;}
-#line 13 "range_full.c"
+#line 12 "range_full.c"
}
#line 3 "range_full.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "range_full.e.re"
{return 0;}
-#line 13 "range_full.e.c"
+#line 12 "range_full.e.c"
}
#line 3 "range_full.e.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "range_full.u.re"
{return 0;}
-#line 13 "range_full.u.c"
+#line 12 "range_full.u.c"
}
#line 3 "range_full.u.re"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 2 "range_full.w.re"
{return 0;}
-#line 13 "range_full.w.c"
+#line 12 "range_full.w.c"
}
#line 3 "range_full.w.re"
++YYCURSOR;
{ printf("error\n"); return; }
yy4:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '0': goto yy4;
case '1':
return;
}
yy7:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '1': goto yy7;
case '2':
goto yy6;
}
yy9:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '2': goto yy9;
case '3':
goto yy6;
}
yy11:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '3': goto yy11;
case '4':
goto yy6;
}
yy13:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '4': goto yy13;
default: goto yy6;
++YYCURSOR;
{ printf("error\n"); return; }
yy4:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '0': goto yy4;
case '1':
return;
}
yy7:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '1': goto yy7;
case '2':
goto yy6;
}
yy9:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '2': goto yy9;
case '3':
goto yy6;
}
yy11:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '3': goto yy11;
case '4':
goto yy6;
}
yy13:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '4': goto yy13;
default: goto yy6;
default: goto yy3;
}
yy5:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '1': goto yy5;
case '2': goto yy8;
default: goto yy7;
}
yy9:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '3': goto yy9;
case '4': goto yy11;
default: goto yy3;
}
yy5:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '1': goto yy5;
case '2': goto yy8;
default: goto yy7;
}
yy9:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '3': goto yy9;
case '4': goto yy11;
default: goto yy3;
}
yy6:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
yy7:
switch (yych) {
case '0': goto yy6;
default: goto yy8;
}
yy10:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '2': goto yy10;
case '3': goto yy12;
return;
}
yy14:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
yy15:
switch (yych) {
case '4': goto yy14;
default: goto yy3;
}
yy6:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
yy7:
switch (yych) {
case '0': goto yy6;
default: goto yy8;
}
yy10:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '2': goto yy10;
case '3': goto yy12;
return;
}
yy14:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
yy15:
switch (yych) {
case '4': goto yy14;